관리 메뉴

드럼치는 프로그래머

[API/MFC] 다이얼로그에서 static text의 배경을 투명하게 하기 본문

★─Programing/☆─API | MFC

[API/MFC] 다이얼로그에서 static text의 배경을 투명하게 하기

드럼치는한동이 2011. 7. 20. 09:16

다이얼로그에서 사용하는 static text의 배경색을 투명하게 하는 방법입니다.

 

다이얼로그의 OnCtlColor를 아래와 같이 재정의합니다.

 

HBRUSH COutstandingOptionDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr;

    const UINT nID = pWnd->GetDlgCtrlID();
    if(nCtlColor == CTLCOLOR_STATIC)
    {
        pDC->SetBkMode(TRANSPARENT); /// 배경을 투명하게
        hbr = (HBRUSH)::GetStockObject(NULL_BRUSH);
    }
    else
    {
        hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    }

    return hbr;
}



이것으로 투명한 static text를 만들수 있습니다.

 

다이얼로그의 배경으로 이미지를 넣었는데...

왼쪽 부분은 static text의 배경을 투명하게 하지 않은 것이고,

오른쪽 부분은 배경으로 투명하게 한것입니다.

 

오른쪽의 것이 훨씬 보기 좋죠?

Comments