MFC GroupBox, CheckBox, RadioButton OnCtlColor 적용문제
HBRUSH CDlg13::OnCtlColor(CDC* pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(255, 255, 255));
pDC->SetBkColor(TRANSPARENT);
return (HBRUSH)GetStockObject(NULL_BRUSH);
default:
return hBrush; //CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
}
위 코드를 적용하면 STATIC CONTROL은 모두 투명처리되고 흰색 글씨를 가진다.
GroupBox와 CheckBox 는 속성을 따로 검출해도
투명처리되지 않고 회색 배경으로 남는데
윈도우 버그 문제인것으로 잠정 결론
stdafx.h파일에
#pragma comment(lib, "UxTheme.lib")
추가하고
BOOL CDlg13::OnInitDialog() {
SetWindowTheme(GetDlgItem(IDC_CHECK1)->m_hWnd, _T(""), _T(""));
}
에 SetWindowTheme() 처리하면 OnCtlColor 적용된다.
bctoxtsh@gmail.com
댓글