Background color of CView window
구글 검색을 해보니 OnEraseBkgnd()함수를 사용하면 된다고 한다.
헤더에 함수를 선언하다.
virtual BOOL OnEraseBkgnd(CDC* pDC); |
소스의 메시지맵에 추가를 하고 함수를 아래와 같이 처리한다.
ON_WM_ERASEBKGND() |
배경색을 Button Face로 지정을 했다.
BOOL CTestView::OnEraseBkgnd(CDC* pDC) { // Get client area CRect rc; GetClientRect(&rc); // Create grey brush and insert it into DC DWORD btnColor = GetSysColor(COLOR_BTNFACE); CBrush brush(RGB(GetRValue(btnColor), GetGValue(btnColor), GetBValue(btnColor))); CBrush* pOldBrush = pDC->SelectObject(&brush); // Fill window with brush pDC->PatBlt(rc.left, rc.top, rc.Width(), rc.Height(), PATCOPY); // Restore DC pDC->SelectObject(pOldBrush); return TRUE; } |
GetSysColor function 사용법은 MSDN을 참고한다.
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms724371(v=vs.85).aspx
예제는 아래 링크 참고
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms724940(v=vs.85).aspx
'MFC' 카테고리의 다른 글
MFC Error C2248 (CSocket 상속 클래스 사용할 때 에러 발생) (0) | 2019.05.03 |
---|---|
MFC 투명 툴바, 아이콘 제작 방법 (0) | 2018.07.10 |
Detect a CListCtrl selection change (0) | 2018.06.18 |
Select, Deselect a CListCtrl Item Programmatically (0) | 2018.06.18 |
Bitmap 리소스로 Toolbar 만들기 (0) | 2018.05.28 |