SPRING :: NOTE
[MFC] Static Text Control 배경 투명 등 본문
반응형
1. 클래스 마법사에서 아래 함수를 추가합니다.
WM_CTLCOLOR
2. 생성된 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 함수안에 아래 코드를 작성합니다.
HBRUSH DlgConf::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 여기서 DC의 특성을 변경합니다.
CRect rect;
UINT nID = pWnd->GetDlgCtrlID();
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT); // 배경 투명으로 변경
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
// TODO: 기본값이 적당하지 않으면 다른 브러시를 반환합니다.
return hbr;
}
위와 같이 변경하면, 해당되는 다이얼로그의 STATIC TEXT 배경이 전부 투명으로 변경.
아래와 같이 수정하면 필요한 부분만 변경 가능하다.
HBRUSH DlgConf::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 여기서 DC의 특성을 변경합니다.
CRect rect;
UINT nID = pWnd->GetDlgCtrlID();
if (nCtlColor == CTLCOLOR_STATIC)
{
if (nID == /*Static Text Control ID*/)
{
pDC->SetBkMode(TRANSPARENT); // 각 Static Text 배경 투명 변경
//pDC->SetTextColor(RGB(0, 0, 0)); // 각 Static Text 글자 색 변경
//pDC->SetBkColor(RGB(0, 128, 0)); // 각 Static Text 배경 색 변경
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
}
// TODO: 기본값이 적당하지 않으면 다른 브러시를 반환합니다.
return hbr;
}
반응형
'Development Language > C · C++ · MFC' 카테고리의 다른 글
[MFC] 프로그램 시작 시, Application 전체화면으로 시작 (0) | 2018.12.03 |
---|---|
[C++] info-Zip 라이브러리로 파일 압축하기 (0) | 2018.12.03 |
[MFC] 다이얼로그 기본 배경색(background Color) 변경 (0) | 2018.11.26 |
[Gdiplus] 함수는 3개의 매개 변수를 사용하지 않습니다. (0) | 2018.11.13 |
[C/C++/MFC] MYSQL 개발 환경 구성 (0) | 2018.10.11 |
Comments