MFC背景色彩,修改后,效果不能保留,运行一闪而过
MFC背景颜色,修改后,效果不能保留,运行一闪而过
如题:MFC背景颜色,修改后,效果不能保留,运行时效果一闪而过
运行窗口变成红色,让后就恢复了, 不知道问什么?? 求指教~~~~~
------解决方案--------------------
背景被view覆盖了。
------解决方案--------------------
为什么不在OnPaint()里面改呢?
------解决方案--------------------
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC){
CRect rcClient;
GetClientRect(&rcClient);
pDC->FillSolidRect(rcClient, RGB(255,0,0)); // 红色背景
return FALSE;//改成这个,但可能其它地方刷新有问题
}
------解决方案--------------------
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
改为BOOL C***View::OnEraseBkgnd(CDC* pDC)
------解决方案--------------------
你这么改会影响界面绘制,有时候你动一下或者刷新一下,背景就花了,不建议
------解决方案--------------------
4楼正解
如题:MFC背景颜色,修改后,效果不能保留,运行时效果一闪而过
- C/C++ code
// 文件MainFrm.cpp : BEGIN_MESSAGE_MAP(CMainFrame, CFrameWndEx) ON_WM_ERASEBKGND() END_MESSAGE_MAP() //实现 BOOL CMainFrame::OnEraseBkgnd(CDC* pDC){ CRect rcClient; GetClientRect(&rcClient); pDC->FillSolidRect(rcClient, RGB(255,0,0)); // 红色背景 return TRUE; }
运行窗口变成红色,让后就恢复了, 不知道问什么?? 求指教~~~~~
------解决方案--------------------
背景被view覆盖了。
------解决方案--------------------
为什么不在OnPaint()里面改呢?
------解决方案--------------------
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC){
CRect rcClient;
GetClientRect(&rcClient);
pDC->FillSolidRect(rcClient, RGB(255,0,0)); // 红色背景
return FALSE;//改成这个,但可能其它地方刷新有问题
}
------解决方案--------------------
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
改为BOOL C***View::OnEraseBkgnd(CDC* pDC)
------解决方案--------------------
你这么改会影响界面绘制,有时候你动一下或者刷新一下,背景就花了,不建议
------解决方案--------------------
4楼正解