|
如何修改frame窗口的背景颜色? MDI窗口的客户区是由frame窗口拥有的另一个窗口覆盖的。为了改变frame窗口背景的颜色,只需要这个客户区的背景颜色就可以了。你必须自己处理WM_ERASEBKND消息。下面是工作步骤: 创建一个从CWnd类继承的类,就叫它CMDIClient吧; #include "MDIClient.h" | class CMainFrame : public CMDIFrameWnd { ... protected: CMDIClient m_wndMDIClient; } 重载CMDIFrameWnd::OnCreateClient,下面是这段代码,请注意其中的SubclassWindow(); BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) | else return FALSE; } 最后要在CMDIClient中加入处理WM_ERASEBKGND的函数。
如何改变view的背景颜色? | BOOL CSampleView::OnEraseBkgnd(CDC* pDC) //设置brush为希望的背景颜色 //保存旧的brush //画需要的区域 return TRUE; }
若要改变CFromView继承类的背景颜色 下面是一个范例代码: | HBRUSH CMyFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) switch (nCtlColor) case CTLCOLOR_BTN: pDC->SetBkMode(TRANSPARENT); } CBrush* back_brush; } } return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor)); }
如何修改frame窗口的背景颜色? MDI窗口的客户区是由frame窗口拥有的另一个窗口覆盖的。为了改变frame窗口背景的颜色,只需要这个客户区的背景颜色就可以了。你必须自己处理WM_ERASEBKND消息。下面是工作步骤: 创建一个从CWnd类继承的类,就叫它CMDIClient吧; #include "MDIClient.h" | class CMainFrame : public CMDIFrameWnd { ... protected: CMDIClient m_wndMDIClient; } 重载CMDIFrameWnd::OnCreateClient,下面是这段代码,请注意其中的SubclassWindow(); BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) | else return FALSE; } 最后要在CMDIClient中加入处理WM_ERASEBKGND的函数。
如何改变view的背景颜色? | BOOL CSampleView::OnEraseBkgnd(CDC* pDC) //设置brush为希望的背景颜色 //保存旧的brush //画需要的区域 return TRUE; }
若要改变CFromView继承类的背景颜色 下面是一个范例代码: HBRUSH CMyFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) switch (nCtlColor) case CTLCOLOR_BTN: pDC->SetBkMode(TRANSPARENT); } CBrush* back_brush; } } return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor)); }
来自:http://www.cnblogs.com/bcxx_qin/archive/2009/02/13/1390204.html (责任编辑:蚂蚁团队) |
