OnPaint(аргументы){
...
pDC->SetTextColor(RGB(цифра, цифра, цифра));
PDC->SetBkMode(TRANSPARENT);
pDC->TextOut(0,0,"Текст");
...
}
Вопросы про CStatic
1. Как изменить цвет CStatic'а?
Я делал свой класс myStatic, там
Код:
и DDX_Control...
Но хотелось бы изменить цвет текста так, чтобы всегда таким и оставался :)
2. Как отловить MouseMove на CStatic?
Всем спасибо!
2. создать потомка, перехвать OnMouseMove..
Цитата: plastictown
1. Как изменить цвет CStatic'а?
Следующий пример иллюстрирует, как на странице набора свойств в ответ на сообщение WM_CTLCOLOR изменяется "кисть" для закрашивания фона статических элементов управления. Для этого необходимо создать обработчик size=2>ON_WM_CTRLCOLOR. Проще всего воспользоваться мастером Class Wizard. Обработчик получает параметр, сообщающий тип элемента управления, для которого запрашиваются параметры рисования. В нашем случае задаем только другую "кисть", т. к. единственный статический элемент управления блока диалога не имеет текста, и достаточно лишь заменить цвет и стиль закрашивания фона.
Код:
BOOL
CMyPropertyPage2::OnInitDialog()
{
size=2>CPropertyPage::OnInitDialog();
size=2>m_brush.CreateHatchBrush(HS_CROSS, RGB(255, 255, 0));
return TRUE;
}
// Обработчик сообщения
WM_CTLCOLOR.
HBROSH
CMyPropertyPage2::OnCtlColor (
CDC* pDC, CWnd* pWnd, UINT
nCtlColor)
{
// Получаем дескриптор текущей кисти страницы свойств
HBRUSH hbr =
CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
// Заменяем "кисть" только
для статических
// элементов
управления
if {nCtlColor == CTLCObOR_STATIC)
hbr = m__brush;
return hbr;
}
CMyPropertyPage2::OnInitDialog()
{
size=2>CPropertyPage::OnInitDialog();
size=2>m_brush.CreateHatchBrush(HS_CROSS, RGB(255, 255, 0));
return TRUE;
}
// Обработчик сообщения
WM_CTLCOLOR.
HBROSH
CMyPropertyPage2::OnCtlColor (
CDC* pDC, CWnd* pWnd, UINT
nCtlColor)
{
// Получаем дескриптор текущей кисти страницы свойств
HBRUSH hbr =
CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
// Заменяем "кисть" только
для статических
// элементов
управления
if {nCtlColor == CTLCObOR_STATIC)
hbr = m__brush;
return hbr;
}
Или можно хотя бы пример использования CLinkCtrl?