다이얼로그에서 static text의 배경을 투명하게 하기
다이얼로그에서 사용하는 static text의 배경색을 투명하게 하는 방법입니다.
다이얼로그의 OnCtlColor를 아래와 같이 재정의합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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의 배경을 투명하게 하지 않은 것이고,
오른쪽 부분은 배경으로 투명하게 한것입니다.
오른쪽의 것이 훨씬 보기 좋죠?
