MFC
文章平均质量分 79
执着的崽子
这个作者很懒,什么都没留下…
展开
-
MFC中窗口刷新函数详解
按引:Invalidate在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。而UpdateWindow直接发送一个WM_PAINT消息,其无效区范围就是消息队列中WM_PAINT消息(最多只有一条)的无效区。效果很明显,调用Invalidate之后,屏幕不一定马上更新,因为WM_PAINT消息不一定在队列头部,而调用UpdateWindow会使WM_PAINT消息马上执行的,绕过了消转载 2016-10-09 10:26:56 · 41147 阅读 · 1 评论 -
双缓冲技术解决MFC重绘闪烁问题
转自:http://www.cnblogs.com/lidabo/archive/2012/07/17/2594840.html 在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。 因为窗体在刷新时,总要有一个擦除原来图转载 2016-10-10 19:06:21 · 4814 阅读 · 1 评论 -
CMarkup类操作XML
转自:http://www.cppblog.com/totti1006/archive/2009/07/27/63672.htmlhttp://www.cnblogs.com/likebeta/archive/2011/08/19/2145339.html 首先到http://www.firstobject.com/dn_markup.htm上面下载CMarkup类,将C转载 2016-12-01 14:39:16 · 1414 阅读 · 0 评论 -
CImage下的双缓存
网上关于CImage的资料真是少……因为项目的原因,需要用到CImage类,但是图像刷新很频繁,导致闪屏很严重,有查不着相关的资料,真是纠结了很久。不过最后还是解决了^_^ ^_^ ^_^ 不管利用的是什么类,什么工具,双缓存的思想是一致的:首先创建一个内存DC,记为MemDC;接着将我们的所有的绘图操作都画到MemDC中;最后利用BitBlt或者StretchBlt将MemDC中的内容一次性原创 2017-01-06 19:31:00 · 1603 阅读 · 1 评论 -
MFC多线程编程之一———问题提出及多线程编程简介
一、问题的提出编写一个耗时的单线程程序:新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:[cpp] view plain copy print?void转载 2017-02-21 16:36:51 · 252 阅读 · 0 评论 -
MFC多线程编程之三——线程间通讯
七、线程间通讯一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。使用全局变量进行通信由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。对转载 2017-02-21 16:40:20 · 312 阅读 · 0 评论 -
MFC多线程编程之二——MFC中的多线程开发
五、MFC对多线程编程的支持MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程转载 2017-02-21 16:39:07 · 389 阅读 · 0 评论