`
阿尔萨斯
  • 浏览: 4106993 次
社区版块
存档分类
最新评论

WTL窗口的背景颜色控制

 
阅读更多
如何改变窗口的背景色,但是不影响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界面编程之获取父窗口背景画刷[整理].pdf

    WTL的停靠窗口

    介绍一个WTL的docking 窗口代码及使用

    WTL 切分窗口简单实现.rar

    WTL 切分窗口简单实现, 利用 CSplitterWindow // 创建切分窗口容器 CRect lSplitWndRect; GetClientRect(lSplitWndRect); HWND hWnd = mMainSplitWnd.Create(*this, lSplitWndRect, //CWindow::...

    设置CEdit的文本框背景色和文字颜色

    [WTL/ATL]_[初级]_[如何设置CEdit的文本框背景色和文字颜色] 项目配套的项目代码,至少 VS2010以上编译 ,Debug模式。 https://blog.csdn.net/infoworld/article/details/124196002

    WTL实现播放器控制窗口

    用WTL写成的一个精美播放器控制窗口,源码说明的文章http://blog.csdn.net/wanghaisheng/archive/2009/06/18/4281221.aspx

    WTL Docking window WTL停靠窗口

    利用WTL实现各种停靠(docking)窗口

    WTL的一个窗口实例

    WTL的一个窗口实例

    WTL时钟控件及获取父窗口背景画刷

    在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。 该下载文件中包含了一份有关“WTL界面编程之获取父窗口...

    WTL 入门学习资料

    5、深入剖析WTL—WTL框架窗口分析.doc 6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制....

    WTL自定义控件透明背景

    演示了WTL中如何让对话框显示背景图片,已经控件的透明色显示和刷新问题的解决方法

    WTL Viewer.rar_WIL查看器和WTL_WTL查看器_wtl_wtl文件查看器_wtl格式

    wtl文件查看器,用于查看wtl文件,只能读取,不能写入文件。

    wtlsplitex

    完美WTL的分隔窗口源代码:简介WTL的分隔窗口简单易用,并且可以用在对话框窗口程序中,但我们也发现使用WTL分隔窗口的一些问题,即WTL分隔窗口中的面板必须为其子窗口,这样就无法接受主对话框窗口的TAB控制。...

    WTL简单教程WTL for MFC Programmers

    ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...

    WTL 8.1 界面开发库

    WTL提供splitter窗口类(这样在一个视里您可以有两个窗口)和scroll窗口类(这样您的窗口可以比它显示的"视"小). WTL也有个类似MFC的UpDateUI的东西,但是它们不是很一样 - 主要的区别是您需要把需要更新的项用宏映射...

    学习WTL 的基础教程

    ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...

    WTL-MFC-Win32无边框窗口.zip

    用vs2010实现的项目, 只配置了Debug模式,虽然使用的是WTL来实现界面,但是消息映射是一样的,很容易移植到MFC. 详细内容查看 https://infoworld.blog.csdn.net/article/details/91960284

    WTL Guide and WTL7.1

    WTL Guide and WTL7.1 Exe

    MFC程序员的WTL编程

    ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。 从另一方面讲,WTL也有它自身的优势: 不需要学习或掌握复杂的文档/视图框架。 具有MFC的基本的界面特色,比如DDX/DDV和命令...

    C++中ATL与WTL学习

    • ATL 背景知识 o ATL 和 WTL 的历史 o ATL 风格的模板 • ATL 窗口类 • 定义窗口实现 o 填充消息映射 • 高级消息映射链和嵌入(Mix-in)类 • ATL EXE 的结构 o VC 6 的情形 o VC 7 的情形 第二部分 - WTL 中的...

Global site tag (gtag.js) - Google Analytics