Microsoft类库基础(MFC).ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Microsoft类库基础(MFC)

4-4-6 MFC中类的消息机制 1.MFC处理的消息类型 对于MFC来讲只有CCmdTarget的派生类才能接受消息 Windows消息:直接给MFC窗口过程处理,即消息处理函数一般是窗口类的成员函数。 控件通知消息:是控制子窗口送给父窗口的WM_COMMAND通知消息,这类消息处理函数一般是窗口类的成员函数。 命令消息:来自菜单、工具栏按钮、加速键等用户接口对象的WM_COMMAND通知消息,属于用户自己定义的消息,可把命令分发给多种类型的对象。 4-4-6 MFC中类的消息机制 2.MFC消息映射的实现方法 MFC使用时间处理程序向导等机制帮助实现消息映射,它在源代码中添加消息映射的内容,并声明和实现消息处理函数。 在类的头文件中:添加消息处理函数的声明,并添加声明消息映射的宏 afx_msg void OnAppAbout(); DECLARE_MESSAGE_MAP() 在类的实现里,添加消息处理函数的实现,并添加声明消息映射的宏 BEGIN_MESSAGE_MAP(CMyApp, CWinApp) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) // 基于文件的标准文档命令 ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // 标准打印设置命令 ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP() 4-4-7 MFC应用程序的流程 Windows将用户程序装入内存 构造全局对象TheApp,在程序被装入时,所有全局对象都会立刻被创建 Windows调用全程函数WinMain(),他是类库的一部分 WinMian()自动有哪些信誉好的足球投注网站CWinApp派生类的唯一实例 找到后WinMain()会调用theApp.IninInstance函数。 被重写的theApp.InitInstance函数启动文档的装入以主要的框架和视图的显示处理过程 WinMain()函数调用theApp.Run()函数,它负责启动窗口的消息和命令消息的传递处理过程。 当消息循环获得WM_QUIT消息后,消息循环结束,Run函数调用ExitInstance函数 ExitInstance函数负责完成应用程序结束之前的清除工作. ExitInstance函数返回时,Run函数也返回了,Windows终止应用程序. 4-4-7 MFC应用程序的流程 执行应用程序 InitInstance函数 Run函数 ExitInstance函数 WinMain() 函数调用 WinMain() 函数调用 Run 函数调用 4-4-8项目实例 一个自己编写的简单Windows程序 MFC 向导生成一个单文档应用程序 应用类:class CMyApp : public CWinApp 文档类:class CMyDoc : public Cdocument 视图类:class CMyView : public Cview 框架类:class CMainFrame : public CFrameWnd 作业 书P118 读程序 5.1文档视图的相关概念 文档视图结构(Document/View Architecture) 文档的本质 文档是用来保存数据以及关于数据的处理的 文档可以拥有多个视图。 文档和视图的关系可以这样理解:文档是被视图观察的对象。 视图本质 视图在 Windows 中就是一个窗口,也就是一个可视化的矩形区域 视图是用来表示文档的数据的 每个视图必需依附于一个框架 框架的本质 框架实际是也是一个 Windows 窗口。 可在框架上可以放置菜单、工具栏、状态栏等 视图则放在框架的客户区 MFC中我们看到的窗口实际上 Frame 和 View 共同作用的结果。 关系 在某一时刻,程序中只有一个活动的文档、框架和视图,即当前的文档、框架、视图 文档视图结构程序的主要组成 一个 App 可以包含多个文档模版( CDocTemplate ),但是 MFC AppWizard (无论是 SDI 还是 MDI )都只是默认生成一个。但是在实际开发中一个文档模版不够,需要自己手工添加。这个结构是通过 MFC 中 CWinApp 的成员变量 CDocManager* m_pDocManager 实现的,我们的 CAApp 正是继承自 MFC 提供的 CWinApp 类。 CDocTemplate拥有3个成员变量,分别保存着Document、View、Frame的CRun

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档