MFC基础Word文档下载推荐.docx
- 文档编号:15795764
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:23
- 大小:516.21KB
MFC基础Word文档下载推荐.docx
《MFC基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MFC基础Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
多文档(MDI)、单文档(SDI)和对话框(Dialog)。
2.1单文档应用程序的创建
1、点击菜单“File”“New…”,弹出“新建项目”对话框,如图1-1所示,在“新建项目”对话框中,选择“Projects”标签,然后在左边列表框中选择“MFCAppWizard(exe)”,在右边的“Projectname”输入框中输入项目名称(比如这里输入“HelloWorld”,然后点击“Ok”按钮。
图1-1新建项目对话框
2、接下来弹出AppWizard的step1对话框,在该对话框中可以有3个选项供选择,即Singledocument,Multipledocuments和Dialogbased,本例先选第1项Singledocument建立单文档应用。
如图1-2所示,最后点击Next进入step2。
图1-2MFCAppWizardstep1
3、在step2到step6中保持默认设置即可,无需对其进行修改,如图1-3至图1-7所示。
最后点击“Finish”按钮结束。
图1-3MFCAppWizardstep2of6图1-4MFCAppWizardstep3of6
图1-5MFCAppWizardStep4of6图1-6MFCAppWizardstep5of6
图1-7MFCAppWizardstep6of6图1-8新建项目信息
4、至此,生成了一个单文档应用程序,在开发环境中我们可以看到图1-9所示的ClassView窗口中,系统自动给我们生成了5个类,其中的4个类CHelloWorldApp,CHelloWorldDoc,CHelloWorldView和CMainFrame属于MFC框架类,他们分别继承自CWinApp,CDocument,CView和CFrameWnd类。
关于这4个类的作用及相互之间的关系在其他参考书中都有较详细的介绍,本文不再重复,接下来就可以编译运行该程序了。
图1-9单文档应用程序开发环境
5、点击菜单“Build”“BuildHelloWorld.exeF7”,即可编译,编译成功后可通过菜单“Build”“ExecuteHelloWorld.exeCtrl+F5”来运行,运行结果如图1-10。
图1-10单文档应用程序运行结果
6、从图1-10可以看出,利用AppWizard可以快速生成应用程序框架。
接下来添加代码让程序显示“HelloWorld”。
展开类CHelloWorldView,双击“OnDraw(CDC*pDC)”,如图1-11所示,在右边窗口中可见如下代码:
voidCHelloWorldView:
:
OnDraw(CDC*pDC)
{
CHelloWorldDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
//TODO:
adddrawcodefornativedatahere
}
图1-11在OnDraw函数中添加代码
7、在OnDraw()函数中添加语句pDC->
TextOut(100,100,"
HelloWorld"
);
,添加后的OnDraw()函数如下:
pDC->
//在坐标位置(100,100)处输出字符串“HelloWorld”
8、再次编译运行程序,运行结果如图1-12所示。
图1-12程序运行结果
2.2多文档应用程序的创建
多文档应用程序的创建与单文档应用程序创建类似,也采用AppWizard来生成。
1、与单文档应用程序创建步骤1相同。
2、在弹出的AppWizardstep1对话框中,选取Multipledocuments选项,然后点击“Next”,如图1-13所示。
图1-13MFCAppWizardstep1
3、在接下来的AppWizardstep2of6至AppWizardstep6of6对话框中,保留默认选项即可,因此可直接点击“Finish”按钮进入新建项目信息对话框,如图1-14所示。
在该对话框中点击“Ok”。
图1-14新建项目信息
在开发环境中可见系统自动生成了如图1-15所示的6个类,其中CChildFrame,CHelloWorldApp,CHelloWorldDoc,CHelloWorldView和CMainFrame构成了MFC多文档应用程序的框架,他们分别继承自CMDIChildWnd,CWinApp,CDocument,CView和CMDIFrameWnd类。
图1-15多文档应用程序开发环境
4、展开CHelloWorldView类,双击OnDraw(CDC*pDC)函数,在右边窗口的OnDraw(CDC*pDC)函数中加入代码如图1-16所示。
图1-16在OnDraw函数中添加代码
5、编译运行,结果如图1-17所示。
图1-17多文档应用程序运行结果
2.3对话框应用程序的创建
1、同单文档应用程序的创建步骤1。
2、在AppWizardstep1对话框中,选取Dialogbased选项,如图1-18所示。
同样在后面的step2of4至step4of4中,保留默认设置即可,因此直接点击“Finish”,“Ok”按钮结束。
图1-18MFCAppWizardstep1
3、在开发环境中可见,系统除了自动生成了3个类(CAboutDlg,CHelloWorldApp,CHelloWorldDlg)之外,还在右边窗口生成了一个对话框模版,如图1-19所示。
图1-19对话框应用程序开发环境图1-20工具条
可以将图1-20所示的工具条中的控件添加到对话框模版中,本文添加一个静态文本框(StaticText),然后将其Caption属性的内容修改为“HelloWorld”,如图1-21所示。
图1-21在对话框中添加控件图1-22对话框应用程序运行结果
4、编译运行,结果如图1-22所示。
3.文档、视图、框架窗口间的关系
在第2节中介绍了如何创建Windows的单文档、多文档以及基于对话框的应用程序,本节将在此基础上分析MFC创建应用程序的结构体系。
图1-23MDI应用程序的构成
3.1构成应用程序的对象
由第2节可知,一个完整的应用一般由四个类组成:
CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。
当然除了上述四个类之外,MFC创建应用程序过程中还用到其它一些辅助类,图1-23显示一个MDI应用程序的构成。
从CWinApp、CDocument、CView、CMDIFrameWnd、CMDIChildWnd类对应地派生出CHelloWorldApp、CHelloWorldDoc、CHelloWorldView、CMainFrame、CChildFrame五个类,这五个类的实例分别是应用程序对象、文档对象、视对象、主框架窗口对象和文档边框窗口对象。
主框架窗口包含了视窗口、工具条和状态栏。
对这些类或者对象解释如下。
(1)应用程序
应用程序类派生于CWinApp。
基于框架的应用程序必须有且只有一个应用程序对象,它负责应用程序的初始化、运行和结束。
(2)边框窗口
在SDI应用程序中,边框窗口类从CFrameWnd类派生,边框窗口的客户子窗口(MDIClient)直接包含视窗口;
而在MDI应用程序中,边框窗口类从CMDIFrameWnd类派生,边框窗口的客户子窗口(MDIClient)直接包含文档边框窗口。
在应用程序中,通常还有工具条、状态栏等内容,因此派生的边框窗口类还要添加CToolBar和CStatusBar等类型的成员变量。
边框窗口用来管理文档边框窗口、视窗口、工具条、菜单、加速键等。
(3)文档边框窗口
文档边框窗口类从CMDIChildWnd类派生,MDI应用程序使用文档边框窗口来包含视窗口。
(4)文档
文档类从CDocument类派生,用来管理数据,数据的变化、存取都是通过文档实现的。
视窗口通过文档对象来访问和更新数据。
(5)视
视类从CView或它的派生类派生。
视和文档联系在一起,在文档和用户之间起中介作用,即视在屏幕上显示文档的内容,并把用户输入转换成对文档的操作。
(6)文档模板
文档模板类一般不需要派生。
SDI应用程序使用单文档模板类CSingleDocTemplate;
MDI应用程序使用多文档模板类CMultiDocTemplate。
应用程序通过文档模板类对象来管理上述对象(应用程序对象、文档对象、主边框窗口对象、文档边框窗口对象、视对象)的创建。
3.2构成应用程序的对象之间的关系
图1-24一些MFC类的层次
图1-24展示了MFC常见类的层次关系,其中的CWinApp,CFrameWnd,CDocument,CView则是前面提到的构成MFC应用程序的四个基本类。
在MFC中,所有类都从CObject类派生,如果是MDI应用程序,框架类则从CMDIFrameWnd和CMDIChildWnd类派生。
在MFC中引入了“文档-视”结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。
在程序运行时CWinApp将创建一个CFrameWnd框架窗口实例,而框架窗口将创建文档模板,然后有文档模板创建文档实例和视实例,并将两者关联。
一般来讲我们只需对文档和视进行操作,框架的各种行为已经被MFC安排好了而不需人为干预,这也是“文档-视”结构的优点所在,让我们将注意力放在完成任务上而从界面编写中解放出来。
4.CDC类
在MFC下,所有的窗口绘制工作都是通过使用CDC的成员函数来完成。
在前面已经介绍了在CView:
OnDraw(CDC*pDC)函数中用CDC在窗口的客户区输出字符串的用法。
Helloworld"
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 基础