如何改变窗口的背景色,但是不影响OnPaint函数内部的绘图逻辑呢?举例:
LRESULT OnEraseBackground(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
// handled, no background painting needed
CPaintDC dc(m_hWnd);
RECT rect;
GetClientRect(&rect);
CBrush brush;
brush.CreateSolidBrush(RGB(255,134,255));
dc.FillRect(&rect,brush);
//
InvalidateRect(NULL, FALSE) ;
return 1;
}
OnEraseBackground函数处理WM_ERASEBKGND消息。请注意,使用InvalidateRect让整个客户区无效,并且传递FALSE参数阻止重绘背景区域。如果没有这个调用,WM_PAINT消息将不会被发送,OnPaint函数不会被执行。
如果要改变一个对话框或者FormView的背景色,应该处理WM_CTLCOLORDLG消息。比如:
LRESULT OnBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
return (LRESULT)m_brush.m_hBrush;
}
OnBackground方法返回事先创建好的一个画刷。
分享到:
相关推荐
WTL界面编程之获取父窗口背景画刷[整理].pdf
介绍一个WTL的docking 窗口代码及使用
WTL 切分窗口简单实现, 利用 CSplitterWindow // 创建切分窗口容器 CRect lSplitWndRect; GetClientRect(lSplitWndRect); HWND hWnd = mMainSplitWnd.Create(*this, lSplitWndRect, //CWindow::...
[WTL/ATL]_[初级]_[如何设置CEdit的文本框背景色和文字颜色] 项目配套的项目代码,至少 VS2010以上编译 ,Debug模式。 https://blog.csdn.net/infoworld/article/details/124196002
用WTL写成的一个精美播放器控制窗口,源码说明的文章http://blog.csdn.net/wanghaisheng/archive/2009/06/18/4281221.aspx
利用WTL实现各种停靠(docking)窗口
WTL的一个窗口实例
在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。 该下载文件中包含了一份有关“WTL界面编程之获取父窗口...
5、深入剖析WTL—WTL框架窗口分析.doc 6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制....
演示了WTL中如何让对话框显示背景图片,已经控件的透明色显示和刷新问题的解决方法
wtl文件查看器,用于查看wtl文件,只能读取,不能写入文件。
完美WTL的分隔窗口源代码:简介WTL的分隔窗口简单易用,并且可以用在对话框窗口程序中,但我们也发现使用WTL分隔窗口的一些问题,即WTL分隔窗口中的面板必须为其子窗口,这样就无法接受主对话框窗口的TAB控制。...
ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...
WTL提供splitter窗口类(这样在一个视里您可以有两个窗口)和scroll窗口类(这样您的窗口可以比它显示的"视"小). WTL也有个类似MFC的UpDateUI的东西,但是它们不是很一样 - 主要的区别是您需要把需要更新的项用宏映射...
ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...
用vs2010实现的项目, 只配置了Debug模式,虽然使用的是WTL来实现界面,但是消息映射是一样的,很容易移植到MFC. 详细内容查看 https://infoworld.blog.csdn.net/article/details/91960284
WTL Guide and WTL7.1 Exe
ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...
• ATL 背景知识 o ATL 和 WTL 的历史 o ATL 风格的模板 • ATL 窗口类 • 定义窗口实现 o 填充消息映射 • 高级消息映射链和嵌入(Mix-in)类 • ATL EXE 的结构 o VC 6 的情形 o VC 7 的情形 第二部分 - WTL 中的...