- 1、本文档共92页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windows编程基础andMFC_zhang解读
* * MyHello应用程序分析 打开“Workspace”窗口中的”Class View( 类视图),MFC生成5个类 CAboutDlg CMainFrame CMyHelloApp CMyHelloDoc CMyHelloView 对于每个类MFC生成两个文件: .h:定义了类和它的各种变量、函数原形; .cpp:生成类对象、实现这个类的函数体。 * MyHello应用程序分析 CMyHelloApp类: 派生于MFC的CWinApp类,作用是初始化应用程序及运行该程序的所需的成员函数。 MyHello.h:声明了CMyHelloApp类, 虚函数InitInstance()的作用:设置注册数据库,载入标准设置(最近打开的文件列表等)、注册文档模板,其中在注册文档模板时隐含创建了主窗口接下来处理命令行参数,显示窗口,然后返回、进入消息循环。 * MyHello应用程序分析 CMainFrame类: 派生于MFC的CFrameWnd类,作用是管理应用程序的窗口,显示标题栏、状态栏、工具栏等,同时处理针对窗口操作的信息。 MainFrm.h:声明了两个主要函数PreCreateWindow()和OnCreate() 及两个对象m_wndStatusBar(管理状态栏)和m_wndToolBar(管理工具栏) * MyHello应用程序分析 CMyHelloDoc类: 派生于MFC的CDocument类,作用是存放应用程序的数据以及文件的保存加载功能。文档类要通过视图类来实现与用户的交互。 CMyHelloDoc.h:声明了三个主要函数OnNewDocument()用于初始化文档 Serialize()串行化(保存和装入)文档 Dump()用于调试诊断。 * MyHello应用程序分析 CMyHelloView类: 派生于MFC的CView类,作用是管理视图窗口,它对应的对象在框架窗口中实现用户数据的显示和打印。 MyHelloView.h:声明了三个函数用于实现数据打印OnPreparePrinting()/ OnBeginPrinting()/ OnEndPrinting()。 GetDocument():返回CMyHelloDoc指针,获取文档指针 OnDraw():实现视图数据的显示和刷新。 * MyHello应用程序分析 预编译头文件stdafx.h: 用于建立一个预编译的头文件MyHello.pch和一个预定义的类型文件stdafx.obj,加速编译过程。 资源文件:Resource.h MyHello.ioc:应用程序的图标 MyHello.rc2:不可直接编辑的资源 Toolbar.bmp:工具栏用到的位图资源 MyHelloDov.ico:生成文档的图标 ReadMe.txt * MFC消息处理 MFC应用程序与其他任何 Windows 程序一样,也使用消息驱动机制,但 MFC 提供的消息处理机制使得消息的处理更加容易。 MFC中消息可以分为三类: Windows 消息(窗口消息):包括以 WM_开头的消息,但 WM_COMMAND 除外。Windows消息由窗口和视图处理。这种消息通常附带一些参数传递给处理函数,这些参数为处理函数正确地处理消息提供了必要的信息。 控件通知消息:当控件的状态发生改变(例如用户利用控件进行输入)时,控件就会向其父窗口发送控件通知消息。MFC对控件通知消息的传递方式与其他以WM_开头的 Windows 消息一样,但 BN_CLICKED 是个例外,该消息的传递方式与命令消息的传递机制一样。 命令消息:包括来自于菜单、工具栏中的按钮和加速键等用户界面对象的WM_COMMAND 通知消息。 * 消息映射 声明 宏 DECLEAR_MESSAGE_MAP() (.h文件) BEGIN_MESSAGE_MAP() //实现(.cpp) ……. ON_Message(ID, ClassMethod) END_MESSAGE_MAP() 消息映射项 ON_Message(ID, ClassMethod) 窗口消息、命令消息、控件通知消息的消息映射项不同 消息处理方法 afx_msg void ClassMethod(); 发送消息SendMessage() ——直接调用窗口函数 寄送消息PostMessage()——到队列 * VC中存在几种系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类
您可能关注的文档
- VR-培训学习系统解读.ppt
- 模具制造与工艺第二章模具制造工艺过程的编制讲述.ppt
- 模具制造工艺过程的编制讲述.ppt
- web应用程序开发教程第03章解读.ppt
- WCDMA概述解读.pptx
- WEBGIS原理与方法解读.ppt
- Web数据管理综合设计实验报告解读.docx
- Web用户控件MR解读.ppt
- 模具拆装步骤讲述.ppt
- Web开发实用教程第五章解读.ppt
- 2024年小学教师工作计划模板(八篇) .pdf
- 2024年药学类之药学(师)题库检测试卷B卷附答案 .pdf
- 2024年必威体育精装版仁爱版五年级数学(上册)期中考卷及答案(各版本) .pdf
- 2024年高中生个人职业生涯规划 .pdf
- 2024年法律职业资格之法律职业客观题二题库与答案 .pdf
- 2024年资产评估师之资产评估基础真题练习试卷B卷附答案 .pdf
- 2024年度社工(初级)《社会工作实务(初级)》考试典型题题库及答案.pdf
- 2024年新员工下半年工作计划范文(3篇) .pdf
- 2024年律师委托代理合同标准版本(三篇) .pdf
- 2024年股权抵押借款合同范本(4篇) .pdf
文档评论(0)