2012-08-25 23:18
⁄ 工业·编程
⁄ 共 2400字
1. MFC初始化的过程
通过全局变量theApp对象(为CMyWinApp类型)创建CMyFrameWnd完成建立窗口。可惜的是仿真中没有delete CMyFrameWnd对象。应该通过虚析构函数delete对象。
2.RTTI功能
为了能够达到RTTI,设计一个CRunTimeClass用于保存一些信息(类名、基类信息、函数指针-动态创建对象使用、模式等)。
设计两类宏,一类宏是在类的声明中使用,主要是给类增加一些成员(数据成员和成员函数)。为RTTI,主要增加一个静态的CR...
MFC阅读全文
2012-08-25 23:16
⁄ 工业·编程
⁄ 共 1788字
MFC封装了WIN API.大家都知道.但是MFC应用程序的真正流程又有多少人知道呢? 下面就是我对MFC启动代码的一些剖析. 在TCHAR.H里,有这么2小段define.通过我的简化,我们可以看到: //TCHAR.H #ifdef _UNICODE #define _tWinMain wWinMain #else #define _tWinMain WinMain #endif 由于为了支持UNICODE,C运行库对WinMain其实区分了UNICODE版和ANSI版.对UNICODE版的程序,C运行库将调用wWinMain,而对于ANSI...
MFC阅读全文
2012-08-25 23:11
⁄ 工业·编程
⁄ 共 3109字
多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的情形。在程序设计领域,一个广泛认可的定义是“一种将不同的特殊行为和单个泛化记号相关联的能力”。和纯粹的面向对象程序设计语言不同,C++中的多态有着更广泛的含义。除了常见的通过类继承和虚函数机制生效于运行期的动态多态(dynamic polymorphism)外,模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处...
c++, 多态阅读全文
2012-08-25 23:00
⁄ 工业·编程
⁄ 共 8018字
很多刚学MFC的人都会被MFC给弄的晕头转向。以前传统的C语言中的main()不见了,window sdk api 中的WinMain()函数也不见了,到底用MFC编写的程序是如何开始运行的呢?到底MFC有没有遵从最基本的C++的标准呢?到底MFC的代码运行的顺序又是怎么样的呢?那么多个文件,那么多函数,到底哪一个先运行,哪一个后运行,哪一个调用哪一个,哪一个又被哪一个调用(你看晕了吧?那么多“哪一个”^_^)?这里这么复杂...
MFC阅读全文
2012-08-25 07:02
⁄ 工业·编程
⁄ 共 552字
说明:
此函数会检查调用者线程的消息队列并获取任意一个存在的消息。
返回值:
有消息可用时返回非0,无消息可用时返回0
其它需要注意的事项同GetMessage
*/
BOOL PeekMessage(LPMSG lpMsg,
HWND hWnd,
UINT wMsgFilterMin,
UINT wMsgFilterMax, //前四个参数的用法可参照GetMessage;
UINT wRemoveMsg &...
消息机制阅读全文
2012-08-25 07:01
⁄ 工业·编程
⁄ 共 1512字
这篇小短文告诉我们如何在运行时取得一个类对象的信息
如果你是从类CObject派生的类且还使用了宏DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC,
DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE或者DECLARE_SERIAL和IMPLEMENT_SERIAL,
那么CObject就可以在运行时检查一个类对象所属的具体类。
当你想检查一个函数参数的具体类型或者想针对...
MFC阅读全文
2012-08-25 07:01
⁄ 工业·编程
⁄ 共 818字
说明:
此函数从调用其的线程的消息队列中读取一个消息。
当它成功取得一个消息时,它才会发送自己取到的消息并返回。
这一点不同于PeekMessage,PeekMessage不会等到取到消息之后再返回,
即如果此时没有消息,它便直接返回了。
返回值:
如果函数取到了非WM_QUIT消息,则返回为非0值;
...
消息机制阅读全文
2012-08-25 07:00
⁄ 工业·编程
⁄ 共 711字
自己的第一个基于MFC的项目马上就要结束了,在回顾以前代码的时候,突然有一些想法,写出来请大家评论一下:
MFC下,我觉得自己写的类可分为三种,一是平台类,二是数据类,三是方法类。
平台类:在MFC中具体表示为一些窗口类及显示类,比如主窗口类,视图类等,其主要作用是显示数据及与用户进行信息的交互,为我们提供了一种操作的平台,所以称之为平台类。平台类最好不要包含用户的数据,不要为用户提供太多方法,只提供一些...
模块化阅读全文
2012-08-25 06:59
⁄ 工业·编程
⁄ 共 1918字
编程框架对消息与命令进行了必要的调整,使程序处理消息更容易,更易维护与封装。
1:消息
类CWinApp的成员方法Run函数中有一个消息循环,它会从消息队列中提取由各种
事件产生的消息。编程框架对消息循环的实现方式是提取消息,解析消息和分发消息。
2:消息处理函数
在MFC中,一个有作用的消息处理函数会处理每一个单...
消息机制阅读全文
2012-08-25 06:58
⁄ 工业·编程
⁄ 共 757字
GetClientRect
此函数用于取得窗口的客户区坐标。客户区即窗口客户区的左上角和右下角之间
的区域。客户区坐标的原点位于窗口客户区的左上角,即用此函数得到的坐标的
原点是窗口客户区的左上角,左上角的的坐标值为(0,0)。
返回值:
成功时返回非0,失败时返回0
注意:
在与...
编程阅读全文