MFC
文章平均质量分 69
clayruan
这个作者很懒,什么都没留下…
展开
-
VC中OnPaint()
VC中OnPaint()的工作原理用了两年的VC,其实对OnPaint的工作原理一直都是一知半解。这两天心血来潮,到BBS上到处发帖询问,总算搞清楚了,现在总结一下。 对于窗口程序,一般有个特点:窗口大部分的区域保持不变,只有不分区域需要重新绘制。如果将整个窗口全部刷新的画,就做了许多不必要的工作,因而,MFC采用了一套基于无效区的处理机制。在分析无效区处理之前,我们要明转载 2012-11-26 14:57:13 · 1459 阅读 · 0 评论 -
OnEraseBkgnd与OnPaint
OnEraseBkGnd与OnPaint的联系问题是这样产生的.在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺省背景刷转载 2012-11-27 11:22:05 · 462 阅读 · 0 评论 -
[MFC]DECLARE_MESSAGE_MAP() 的理解
[MFC]DECLARE_MESSAGE_MAP() 的理解只要当前类是CCmdTarget派生的,则必须提供消息映射以处理消息。 具体方式是在类或者结构体末尾添加DECLARE_MESSAGE_MAP(无分号),然后在定义类成员函数的.CPP文件中,使用BEGIN_MESSAGE_MAP()宏和 END_MESSAGE_MAP()宏来实现对消息的处理。转载 2012-11-17 17:51:07 · 10642 阅读 · 0 评论 -
谈谈父窗口和所有者窗口
谈谈父窗口和所有者窗口一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 par转载 2012-11-17 17:25:44 · 338 阅读 · 0 评论 -
VC中用户自定义消息
VC----用户自定义消息 用户自定义一个类,这个类不一定要有界面(完全可以是不可视的),要求自定义的类可以响应某个自定义消息。首先能够响应消息的类必须都从CCmdTarget类中派生,因为只有以这个类中提供了消息的框架和处理机制,而CWnd类也派生与此类。CWinApp类、CDocument类、CDocTemplate类等都是CCmdTarget的派生类,即子类;而CFr转载 2012-11-20 14:30:38 · 468 阅读 · 0 评论 -
关于#pragma comment(lib,"ws2_32.lib")和 #pragma warning(disable : 4786)
关于#pragma comment(lib,"ws2_32.lib")(转)#pragma warning(disable : 4786) 有什么用呢?pragma comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。 和在工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的程序别人在使用你的代码的时候就不用转载 2012-11-21 15:36:42 · 973 阅读 · 0 评论 -
DECLARE_DYNAMIC()与IMPLEMENT_DYNAMIC()
MFC六大关键技术之(二)——运行时类型识别(RTTI)运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面选用“使能RTTI”,然后载入typeinfo.h文件,就可以使用一个叫typeid()的运算子,它的地位与在C++编程中的sizeof()运算子类似的地方(包含一个头文件,转载 2012-11-21 22:15:35 · 2378 阅读 · 0 评论