MFC Control Color Change
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
CBrush m_combo_brush;
m_combo_brush.CreateSolidBrush(RGB(0, 0, 255)); // Brush 속성을 생성한다.
HBRUSH MyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 여기서 DC의 특성을 변경합니다.
switch (nCtlColor) {
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0, 0, 0));
return (HBRUSH)(m_combo_brush);
case CTLCOLOR_LISTBOX:
pDC->SetTextColor(RGB(0, 255, 0));
pDC->SetBkColor(RGB(0, 0, 0));
return (HBRUSH)(m_combo_brush);
default:
break;
}
if (pWnd->m_hWnd == GetDlgItem(IDC_SERVERLIST_COMBO)->m_hWnd)
hbr = HBRUSH(m_combo_brush);
// TODO: 기본값이 적당하지 않으면 다른 브러시를 반환합니다.
return hbr;
}
- pDC
자식 창에 대 한 디스플레이 컨텍스트를 포인터를 포함합니다. 일시적일 수 있습니다.
- pWnd
컨트롤의 색을 요청에 대 한 포인터를 포함 합니다. 일시적일 수 있습니다.
- nCtlColor
컨트롤의 형식을 지정 하는 다음 값 중 하나가 포함 됩니다.
CTLCOLOR_BTN 단추 컨트롤
CTLCOLOR_DLG 대화 상자
CTLCOLOR_EDIT 편집 컨트롤
CTLCOLOR_LISTBOX 목록 상자 컨트롤
CTLCOLOR_MSGBOX 메시지 상자
CTLCOLOR_SCROLLBAR 스크롤 막대 컨트롤
CTLCOLOR_STATIC 정적 컨트롤
'Programming > MFC' 카테고리의 다른 글
MFC CWnd Control Border Color Change (0) | 2016.10.20 |
---|---|
MFC CheckBox 컨트롤의 현재 상태 (0) | 2016.10.19 |
MFC Bitmap Button (0) | 2016.10.18 |
MFC Tab Control Color Change #2 (0) | 2016.10.18 |
MFC Tab Control Color Change #1 (1) | 2016.10.18 |