2016-12-27 2 views
0

Я использую CComboBox в своем проекте. Я хочу изменить цвет поля со стрелкой на фокусеИзменить цвет границы CComboBox, чтобы показать ошибку и предупреждение

+0

Для фона, я могу посоветовать вам, чтобы получить документацию о 'OnCtlColor' – sergiol

+0

@sergiol Я проверил это не работает –

+0

Показать код, что вы пытаетесь. –

ответ

1

enter image description here Наконец-то это сделано, и оно имеет очень простое решение. Я просто переопределил метод onpaint элемента управления.

void CComboBoxOwn::OnPaint() 
{ 
CDC *dc = m_Parent->combobox->GetDC(); 
CRect rc; 
m_Parent->combobox->GetClientRect(rc); 
HBRUSH hBrush = CreateSolidBrush(COLORREF(RGB(255, 0, 0))); 
FrameRect(dc->m_hDC, rc, hBrush); 
DeleteObject(hBrush); 
ReleaseDC(dc); 

return; 
} 
+0

Это выглядит не так. Живопись всегда должна использовать «CPaintDC». Кроме того, совершенно неясно, что такое 'm_Parent', или его член' combobox'. Этот ответ обычно не полезен, извините. – IInspectable

+0

CComboboxown - мой класс, где m_parent является переменной-членом класса CComboCntl. –

Смежные вопросы