카테고리 없음

MFC GroupBox, CheckBox, RadioButton OnCtlColor 적용문제

by @@@@@@@@@ 2015. 3. 5.
반응형

 

 

 

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

반응형

댓글