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;
}
'프로그래밍 팁 > etc' 카테고리의 다른 글
GetDriveTypeEx (0) | 2016.12.20 |
---|---|
MessageBoxTimeout API(문서화 되지않은 기능) (1) | 2012.02.01 |
CreateCompatibleBitmap 주의사항 (2) | 2011.12.03 |
다이얼로그 구멍내기 (0) | 2011.11.25 |
비스타에서 권한무시 메세지 전송방법 (0) | 2011.10.12 |