2016-12-27 1 views
0

내 프로젝트에서 CComboBox 사용하고 있습니다. 초점에있는 테두리 콤보 상자의 색을 변경하고 싶습니다.오류 및 경고를 표시하도록 CComboBox 테두리 색 변경

+0

배경 색상, 난 당신이 내가 그것을 – sergiol

+0

@sergiol 당신이 시도하는 것을 코드를보기'에 대한 설명서를 참조하십시오 조언 해 줄 수 있습니다. –

+0

을 작동하지 않습니다 확인하신 OnCtlColor' –

답변

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가 무엇인지, 아니면 그 콤보 박스 멤버인지는 완전히 불분명합니다. 이 대답은 일반적으로 유용하지 않습니다. 미안합니다. – IInspectable

+0

CComboboxown은 m_parent가 CComboCntl 클래스의 멤버 변수 인 my 클래스입니다. –