새소식

DEV/C++

[MFC] Static Control 배경 투명화

  • -
728x90

기본 다이얼로그에 Static Control 올리면 그 컨드롤 영역만큼 기본 배색(회색)으로 보이는데,

이렇게 그 영역만큼 보여서 해당 부분을 투명화 하는 처리가 필요하다.

 

다이얼로그에 WM_CTLCOLOR 이벤트 추가 한뒤, 

 

해당 이벤트 함수(OnCtlColor) 수정

HBRUSH CStaticTest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
	int nRet = pWnd->GetDlgCtrlID();
	if (nRet == IDC_STATIC )  //여기에 투명화 처리할 Static ID추가
	{
		pDC->SetBkMode(TRANSPARENT);
		hbr = (HBRUSH)GetStockObject(NULL_BRUSH);
	}

	return hbr;
}

 

해당 작업 한 뒤 정상적으로 출력되는것 확인

728x90
Contents

Copied the posting URL.

Please sympathize with me if this article was helpful.