C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 13. Используем свойства окружения / ActiveX / Приложение

Visual C++. ActiveX
Урок 13. Используем свойства окружения

На этом занятии мы с вами посмотрим, как ваш элемент ActiveX может использовать свойства своего окружения (т. е. свойства своего контейнера). Например, элемент ActiveX может выяснить, что за цвет фона у контейнера, и сделать себе такой же. Или использовать шрифт своего контейнера (предваритеьно выяснив его).

Давайте в качестве примера рассмотрим, как элемент ActiveX может прочитать свойство BackColor своего контейнера и устновить себе такое же значение для этого свойства. Для этого внесите в метод OnDraw класса CFirstAXCtrl следующие изменения:

void CFirstAXCtrl::OnDraw(
   CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
    // TODO: Replace the following code with your own drawing code.
    pdc->FillRect(rcBounds,
      CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
    COLORREF colorBack; //Переменная для цвета
    //Берем цвет контейнера и преобразуем его
    //из типа OLE_COLOR в тип COLORREF
    colorBack = TranslateColor(GetBackColor());
    CBrush brush; //Заводим кисть
    //Создаем кисть цвета colorBack
    //(т. е. цвета BackColor контейнера)
    brush.CreateSolidBrush(colorBack);
    //Приписываем кисть к pdc
    CBrush* pOldBrush=pdc->SelectObject(&brush);
    pdc->Ellipse(rcBounds);//Рисуем эллипс
}

Компилируем проект, после чего испытываем его в Visual Basic. Для испытания измените у формы (которая будет контейнером для нашего элемента ActiveX) свойство BackColor (например, на розовый цвет). При размещении на форме нового экземпляра нашего элемента ActiveX эллипс на нем нарисуется таким же цветом! Вот так это будет выглядеть:

ActiveX на форме VB

Таким образом наш ActiveX прочитал одно из свойств своего контейнера!