MFC相关

来源:互联网 发布:json.stringify 编辑:程序博客网 时间:2024/05/22 03:47

MFC相关

 

下面这些是关于C++/MFC的一些概念和相关的语法。

1. 这些类中,最重要的类是CObjectCCmdTargetCObjectMFC的根类,绝大多数MFC类是其派生的,包括CCmdTargetCObject 实现了一些重要的特性,包括动态类信息、动态创建、对象序列化、对程序调试的支持,等等。所有从CObject派生的类都将具备或者可以具备CObject所拥有的特性。CCmdTarget通过封装一些属性和方法,提供了消息处理的架构。MFC中,任何可以处理消息的类都从CCmdTarget派生。

 

2.针对每种不同的对象,MFC都设计了一组类对这些对象进行封装,每一组类都有一个基类,从基类派生出众多更具体的类。这些对象包括以下种类:窗口对象,基类是CWnd;应用程序对象,基类是CwinThread;文档对象,基类是Cdocument,等等。

 

3. C++通过虚函数实现多态."无论发送消息的对象属于什么类,它们均发送具有同一形式的消息,对消息的处理方式可能随接手消息的对象而变"的处理方式被称为多态性。

 

4.虚拟函数是成员函数,它可以在派生类中被重新定义并赋予另外一种功能

 

5.重载可以是不同的形参

 

6.类的多态性,成员函数的多态性。

 

7.多态与重载,重载体现了多态性

 

8.动态约束即多态性

 

9.OLE 对象链接和嵌入  MDI多文档界面 

 

CwinApp,Cdocument,Cview,CMDIChildWnd类对应的派生出CTApp,CTDoc,CTView,CMainFrame,CchildFrame五个类。

 

10.如果要支持工具条、状态栏,则派生的边框窗口类还要添加CToolBarCStatusBar类型的成员变量,以及在一个OnCreate消息处理函数中初始化这两个控制窗口。

13. MFC中,使用这些MFC Object,一般分两步:

首先,创建一个MFC Object,或者在STACK中创建,或者在HEAP中创建,这时,MFC Object的句柄实例变量为空,或者说不是一个有效的句柄。

然后,调用MFC Object的成员函数创建相应的Windows ObjectMFC的句柄变量存储一个有效句柄。

14. MFC Object随着析构函数的调用而消失;但Windows Object必须由相应的Windows系统函数销毁。

 

15.指针void*

 

16. string str(“…………”);//初始化

    string str1 = “today is my birthday!”;

    string *s = &str;

    cout << *s;//输出s的内容

    *s = “goodbye”;//修改了str的内容

    s = &str1;//换成指向str1

 

17.定义引用一定要初始化,因为引用已经初始化始终指向同一个特定对象

 

    int &ri = ival, &ri2 = ival2;//引用

    ri = ri2;//assigns ival to ival2

这个复制操作修改了ri引用的值ival对象,而并非引用本身。复制后,这两个引用还是指向原来关联的对象,此时这两个对象值相等。

 

原创粉丝点击