源码说明:美化能获取焦点控件的边框颜色,获取焦点后颜色不同(类似彗星小助手、QQ等软件),支持自定义颜色,支持单独设置各个控件颜色.实现方法:子类化,在WM_NCPAINT、WM_PAINT等消息自己画出边框开发环境:VS2005 MFC / 易语言源码下载:http://download.csdn ...
分类:
其他好文 时间:
2018-02-21 10:42:12
阅读次数:
242
具体的消息表示: 1. WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高 2. 滚动条WM_VSCROLL或WM_HSCROLL消息,LOWORD(wParam)指出了鼠标对滚动条的操作。比如上、下、左、右、翻页、移动等。 3. 击键消息,有W ...
分类:
其他好文 时间:
2017-12-04 13:10:40
阅读次数:
213
按引:Invalidate在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。而UpdateWindow直接发送一个WM_PAINT消息,其无效区范围就是消息队列中WM_PAINT消息(最多只有一条)的无效区。效果很明显,调用Invalidate之后,屏幕不一定马上更新,因为WM_PAI ...
理论上不管什么控件都适用,方法如下: 新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动: 首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景: BOOL CXXXCtrl::OnEraseBkgnd(CDC* pDC){ return TRUE;} 然后覆盖 OnPai ...
分类:
其他好文 时间:
2017-09-06 18:21:49
阅读次数:
154
1、在Windows API编程中,直接在消息处理函数中编写WM_PAINT处理代码。 2、在MFC中,CFrameWnd的消息处理过程在哪里呢?MFC时如何将消息处理函数和窗口关联起来的。 在CFrameWnd::CreateEx中,调用PreCreateWindows来注册窗口。 AfxDefR ...
分类:
编程语言 时间:
2017-08-23 19:10:50
阅读次数:
168
Invalidate( ) :使整个窗口客户区无效, 并进行更新显示的函数 介绍 介绍 void Invalidate( BOOL bErase = TRUE ); 参数: bErase 决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND 窗口的客户区无效意味着需要重绘,例如,如果一 ...
分类:
其他好文 时间:
2017-08-18 21:28:25
阅读次数:
180
第12章 Direct3D绘制基础 1. 顶点缓存 计算机所描绘的3D图形是通过多边形网格来构成的,网网格勾勒出轮廓,然后在网格轮廓的表面上贴上相应的图片,这样就构成了一个3D模型。三角形网格是构建物体模型的基本单元,而一个三角形有3个顶点,为了能够使用大量三角形组成三角形网格来描述物体,需要首先定 ...
分类:
Windows程序 时间:
2017-07-15 23:53:46
阅读次数:
1096
做windows开发这么久了,一直以来对WM_PAINT和WM_ERASEBKGND消息总是感觉理解的不准确,每次要自绘一个窗口都因为知其然不知其所以然,偶然发现一篇文章,详细透彻地分了这个两个消息的用途和设计初衷,这篇文章也是我见过最深入也是最准确关于WM_PAINT和WM_ERASEBKGND消 ...
分类:
其他好文 时间:
2017-07-06 22:00:53
阅读次数:
245
使用MFC实现上面的按钮半透明效果能看到父窗口中的内容,上面是效果图(一个是带背景图片的、另一个是不带的)。 控件继承自CWnd类(彩色的部分是窗口的背景图片、按钮是PNG图片,第二个图标是鼠标指向时的效果)。 图标的绘制使用GDI+绘制PNG图片,在此不多说了(处理WM_PAINT消息): 1 v ...
分类:
编程语言 时间:
2017-06-23 13:03:56
阅读次数:
217
参考文章:http://blog.csdn.net/wangjian8006/article/details/7464431 图片的加载与显示也是属于窗口绘制这一部分的。所以其代码要写在消息函数的WM_PAINT消息下。 (这个代码图片路径是写死的,图片不会变,下面会讲该怎么刷新图片) HDC(设备 ...