MFC消息映射机制的剖析,讲述如何运用ClassWizard,,理解发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应的。掌握设备描述表及其封装类CDC的使用,CDC是如何与具体的设备发生关联的,融合具体的画图程序进行分析。如何设置封闭图形的填充刷子(位图画刷与透明画刷的使用)。
主要介绍一些绘图方面的知识。
程序实例:
新建工程:->MFC AppWizard[exe] 文件面为Draw 选择单文档的应用程序 完成之后编译运行。
画直线、画图、画刷画位图、空白画刷操作步骤
l 明确画图的思路:按下鼠标左键画图的原点,拖动鼠标到...
第三课:MFC
_tWinMain函数在APPMODUL.CPP中(我们用的WinMain函数)
AfxWinMain函数在WINMAIN.CPP 中,不要因为文件名为WINMAIN而被迷惑。
AfxEndDeferRegisterClass函数在 WINCORE.CPP中。
CWinApp函数在 APPCORE.CPP 中
PreCreateWindow函数在WINFRM.CPP中
AfxDeferRegisterClass在AFXIMPL.H中
第三课MFC主要讲述MFC AppWizard的原理与MFC程序框架的剖析。AppWizard是一个源代码生成工具,是...
我很喜欢VC++,因此就自学了这个东西。啰啰嗦嗦学习VC++是我个人的听课笔记。
当然写听课笔记也是爷的一个爱好!
我不是一个要求完美的人,因此我的笔记会乱一些!这是我对这个“啰啰嗦嗦学习VC++ ”听课笔记的简单评价。呵呵,见笑了!
我在从头从新开始学vc++,这份笔记里每一个字符都是我自己敲出来的;每一个程序都是我自己调试过的(正确的程序有的会有结果,错误的案例会有错误原因的介绍和解决的方法);关于里边的某些概念我也是费了些劲查了资料之后把自己的理解写了一下。
这个笔记总共有20多课,我现在才看到第二课,我会把这20多课的笔记全部放在这里来和愿意看这些内容的人分享。
...
第二课:掌握C++
C++的特点:封装性、继承性、多态性。
封装把数据操作数据的函数衔接在一起;不仅使程序结构非常紧凑而且使类内部结构更加安全。继承性增加了软件的可扩充性和代码的重用性。多态性使程序设计人员在设计程序时可以对问题更好的抽象,有利于代码的维护和可重用。
通过程序代码来讲解C++程序基本的特性:
File -> New -> Project(工程) -> Win32 Console Application(控制台应用程序) ->……
File -> New -> Files -> C++ Source File -> File: Point
定义结构体后在右大...
关于构造函数和析构函数的一个小问题:vc++在类中可以自己设置构造函数和析构函数,在主程序中可以调用析构函数。问题:1、如果在主程序中调用了一个实例的析构函数那么对接下来的程序运行有什么样的影响? 2、在主程序中调用析构函数有用么? 3、析构函数是不是与构造函数成对出现?是否可以单独执行,如果仅仅调用了析构函数是不是没有任何用处??
下边是一段可以运行的代码,在main函数中调用了子类的析构函数。#include <iostream.h>#include <conio.h>
class animal{public: animal() { ...
C中的” 变量++”与” ++变量”的运算顺序,以及其在函数中的运算顺序;
小结:我现在用的机器C中的运算是自右向左进行的;a++与++a的运算也是不同,a++是先用a原来的值进行运算而后再执行a=a+1的运算,即运算过程中带入的是a的原值也就是在执行a=a+1运算之前的数值;而++a则是先进行a=a+1的运算之后再用a+1后的值进行运算;即带入的是a的新值(a=a+1)。在printf()函数中遇到++a和a++则根据C中的运算是自右向左进行的原则++a可以改变a的值而a++则不能在printf()函数中改变a的值。可以认为a++的运算等级最低,是需要在包含a++运算的其他运算都执行...
WINDOWS程序内部运行原理
2009年2月19日4:15:43(第一次)
API(Application programming interface) 应用程序编程的接口
MSG(message) 消息结构体
操作系统将每一个事件包装成一个称为消息MSG的结构体传递给应用程序
MSG的结构定义如下:(windows user interface : platform sdk )
Typedef struct tagMSG{
HWND hwnd; 窗口的句柄 句柄为资源的标识,按类型分为HICON \HCURSOR \HWND...