Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 10 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

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 прочитал одно из свойств своего контейнера!



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS