ActiveX с нуля

         

Свойства определения цветов.


Вы можете использовать базовые свойства ForeColor и BackColor или создать собственные для отрисовки контрольного элемента. Для того, чтобы использовать свойство, связанное с цветом, Вам следует вызвать функцию COleControl::TranslateColor.

Свойство, связанное с цветом, имеет тип OLE_COLOR. Этот тип должен быть преобразован к типу COLORREF. Параметры функции COleControl::TranslateColor – значение свойства типа OLE_COLOR  и, по желанию, идентификатор палитры. Возвращаемое значение – цвет в форме COLORREF, который можно использовать во всех функциях GDI, например, SetTextColor и CreateSolidBrush.

Получить значения свойств ForeColor и BackColor можно с помощью функций GetForeColor и GetBackColor соответственно.

Пример ниже показывает  применение этих функций:

CBrush bkBrush(TranslateColor(GetBackColor()));

   COLORREF clrFore = TranslateColor(GetForeColor());

   pdc->FillRect( rcBounds, &bkbrush );

   pdc->SetTextColor( clrFore );

   pdc->DrawText( InternalGetText(), -1, rcBounds, DT_SINGLELINE | DT_CENTER | DT_VCENTER );

Здесь создается кисть с цветом, заданным как базовое свойство BackColor. Цвет текста определяется свойством ForeColor.



Содержание раздела