다이얼로그 배경색과 다이얼로그에 배치된 컨트롤러 배경색 변경 하기
다이얼로그의 배경색 변경하기
심플하게 정리해 본다.
1. 멤버변수로 CBrush를 선언
<A.h> 파일에 멤버 변수로 하나잡고
...
CBrush m_brush;
..
2. <A.cpp>에서 SolidBrush 생성
난 OnInitDialog()에서 해줬다.
m_brush.CreateSolidBrush(RGB(255,255,255)); ///< 난 배경색을 하얀색으로
ㅇㅇㅇ
3. OnCtlColor에서 색상 지정
-> 여기서 잠깐 OnCtlColor 처리 함수 등록하는 방법은 알죠??
다이얼로그 클릭하고 속성에서 빨간색 부분쪽!!!
자 OnCtlColor 함수를 등록했다고 가정하고~!!
1. nCtlColor값이 다이얼로그 인경우 만든 브러쉬 색상으로 리턴
2. 다이얼로그 안에 Static Ctrl이 있는경우 배경색만 변경하면 static 컨트롤의 배경색이 회색이라 일치가 안되니
같이 색상을 변경한다.
HBRUSH CDlgLogin::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_DLG) ///< 다이얼로그 배경색 지정
hbr = (HBRUSH)m_brush;
else if( nCtlColor == CTLCOLOR_STATIC) ///< static 컨트롤러 배경색 변경
{
pDC->SetBkMode(TRANSPARENT);
hbr = (HBRUSH)m_brush;
}
return hbr;
}
자 이제 마지막으로
소멸자에서 생성한 브러쉬를 삭제 해주면된다.
DeleteObject(m_brush);
'Study > MFC' 카테고리의 다른 글
현재 시간 구하기 및 문자열 Format 변경 (0) | 2015.05.06 |
---|---|
VisualStyle 변경하기(비쥬얼 스타일 변경) (0) | 2014.11.14 |
[MFC] 컨트롤의 탭 순서 변경하기(tap) (0) | 2014.11.10 |
파일로 부터 만든날짜, 수정한 날짜, 액세스한 날짜 가져오기 (1) | 2013.10.25 |
CListCtrl 선택시 나오는 색상 변경, (CListCtrl seleted Item color change) (1) | 2013.10.01 |
댓글