- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1
以下所有程序的类阶层架构、类名称、变量名称、结构名称、函数名称、函数行为,都以MFC为仿真
对象,具体而微。也可以说,我从数以万行计的MFC原始代码中,「偷」了一些出来,砍掉旁枝末节,只
露出重点。
在文件的安排上,我把模拟MFC的类都集中在MFC.H和MFC.CPP中,把自己派生的类集中在MY.H和
MY.CPP中。对于自定类,我的命名方式是在父类的名称前面加一个中。对于自定类,我的命名方式是在父类的名称前面加一个,例如派生自CWinApp者,名为
CMyWinApp,派生自CDocument者,名为CMyDoc。
MFC类阶层
首先我以一个极简单的程序Frame1,把MFC数个最重要类的阶层关系模拟出来:
这个实例仿真MFC的类阶层。后续数节中,我会继续在这个类阶层上开发新的能力。在这些名为Frame?
的各范例中,我以MFC原始代码为蓝本,尽量模拟MFC的内部行为,并且使用完全相同的类名称、函数
名称、变量名称。这样的模拟对于我们在第三篇以及第四篇中深入探讨MFC时将有莫大帮助。相信我,
这是真的。
Frame1范例程序
MFC.H
#0001#includeiostream.h
#0003classCObject
2
#0004{
#0005#0005#0005public:public:public:
#0008};
#0010classCCmdTarget:publicCObject
#0011{
#0012#0012#0012public:public:public:
#0015};
#0017classCWinThread:publicCCmdTarget
#0018{
#0019#0019#0019public:public:public:
#0022};
#0024classCWinApp:publicCWinThread
#0025{
#0026public:
#0027CWinApp*m_pCurrentWinApp;
#0029public:
#0030CWinApp::CWinApp(){m_pCurrentWinApp=this;
#0032};
#0034classCDocument:publicCCmdTarget
#0035{
#0036#0036#0036public:public:public:
#0039};
#0042classCWnd:publicCCmdTarget
#0043{
#0044#0044#0044public:public:public:
#0047};
#0049classCFrameWnd:publicCWnd
#0050{
#0051#0051#0051public:public:public:
#0054};
#0056classCView:publicCWnd
#0057{
#0058#0058#0058public:public:public:
#0061};
#0064//globalfunction
#0066CWinApp*AfxGetApp();
MFC.CPP
文档评论(0)