实验3应用程序基本框架

实验3应用程序基本框架

ID:41032933

大小:227.00 KB

页数:7页

时间:2019-08-14

实验3应用程序基本框架_第1页
实验3应用程序基本框架_第2页
实验3应用程序基本框架_第3页
实验3应用程序基本框架_第4页
实验3应用程序基本框架_第5页
资源描述:

《实验3应用程序基本框架》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验3应用程序基本框架姓名:吕景路学号20090810320实验目的:掌握MFC的基础知识和类库的组织结构掌握简单的MFC应用程序框架掌握MFC的消息映射和消息处理函数掌握MFC的AppWizard生成的应用程序基本框架结构实验内容:在VC++的Windows编程中,主要有两种方法:一种是利用API函数;另一种是利用Microsoft提供的MFC类库。从上节课的内容我们可以看到,利用WindowsAPI函数进行编程时,用户需要编写大量的代码,编程的工作量较大。本节介绍另外一种编程方法,利用MFC和应用程序向导(AppWizard)来编写Windows应用程序。即首先使用AppW

2、izard生成应用程序的基本框架,然后用ClassWizard来建立应用程序的类、消息映射、消息处理函数或定义控件的属性、事件和方法,最后把应用程序所要求的功能添加到类中。MFC常用类的体系结构如上图说明1、CObject类是几乎所有MFC类的基类,几乎所有的MFC类都由它直接或间接派生。2、CCmdTarget类是MFC中开始具有消息循环和消息处理能力的基类,所有的能进行消息循环和消息处理的类都由它派生。3、CCmdTarget类派生了CWinThread(线程类)、CWnd(窗口类)、CDocument(文档类)和CDocTemplate(文档模板类)。4、CWinThre

3、ad派生了CWinApp(应用程序类)、CWnd类派生了CFrameWnd(框架窗口类)和CView(视图类)。5、简单用程序框架是由CWinApp类和CFrameWnd类搭建的。6、文档/视图的应用程序框架是由CWinApp类、CFrameWnd类、CView类、CDocument类和CDocTemplate类搭建的。例1、简单应用程序框架举例(ex41)(1)建立一个Win32Application类型的工程,工程名为ex41(2)添加源文件(.cpp文件)。#include//头文件,有AFX小组的影子classCMyApp:publicCWinApp

4、//派生自己的应用程序类CMyApp{public:virtualBOOLInitInstance();//重写CWinApp中的虚拟函数InitInstance()};BOOLCMyApp::InitInstance()//InitInstance()函数的定义{CFrameWnd*p=newCFrameWnd;//生成窗口类CFrameWndp->Create(0,"MFC");//创建窗口p->ShowWindow(SW_NORMAL);//显示窗口p->UpdateWindow();//更新窗口AfxGetApp()->m_pMainWnd=p;//指明应用程序的主窗口

5、returnTRUE;}CMyAppmyapp;//生成应用程序类对象myapp,程序由此开始执行(1)选择菜单Projects->Settings,在打开的对话框中选择UseMFCinaStaticLibrary或UseMFCinaSharedDLL,表示选择类库的使用方式。(2)编译链接、运行后会出现一个空白的窗口,程序尚不能对任何消息做出反应,表明程序没有消息处理能力。(3)例2、为例1添加MFC消息映射和消息处理函数(ex42)#include//头文件,有AFX小组的影子classCMyApp:publicCWinApp//派生自己的应用程序类CM

6、yApp{public:virtualBOOLInitInstance();//重写CWinApp中的虚拟函数InitInstance()};classCMainWnd:publicCFrameWnd{protected:afx_msgvoidFunction1(WPARAMwParam,LPARAMlParam){MessageBox("左键单击");}afx_msgvoidFunction2(WPARAMwParam,LPARAMlParam){MessageBox("右键单击");}DECLARE_MESSAGE_MAP();};BEGIN_MESSAGE_MAP(CMa

7、inWnd,CFrameWnd)ON_MESSAGE(WM_LBUTTONDOWN,Function1)ON_MESSAGE(WM_RBUTTONDOWN,Function2)END_MESSAGE_MAP()BOOLCMyApp::InitInstance()//InitInstance()函数的定义{CMainWnd*p=newCMainWnd;//生成窗口类CFrameWndp->Create(0,"MFC");//创建窗口p->ShowWindow(SW_NORMAL);//显示窗口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。