WM_CTLCOLOR를 사용해 체크박스 색상을 변경하면

특정환경에서 체크박스 컨트롤의 색이 정상적으로 출력되지 않는 현상이 있어 아래 방법으로 코딩해 봤습니다.


정상적으로 출력이 안될 경우 댓글을 통해 알려주시기 부탁드립니다.


CBrush m_brush;

BOOL CTestDlg::OnInitDialog() 

{

CDialog::OnInitDialog();

m_brush.CreateSolidBrush(RGB(242,243,245)); 


return TRUE;

}


HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

if(pWnd->GetDlgCtrlID() == IDC_CHECK_BOX)

{

pDC->SetBkColor(RGB(242,243,245));

        return (HBRUSH)m_brush;

}

return hbr;

}


Posted by 띠깜
,