- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC编程基础-- 水滴整理分享 永久
public: virtual ~CWinApp(); DECLARE_MESSAGE_MAP() }; 虽然在CWinApp类定义中未见到WinMain函数,但是我们见到了以下几个虚函数,如: InitApplication(); InitInstance(); Run() 下面再来看看CFrameWnd的定义: class CFrameWnd : public CWnd { DECLARE_DYNCREATE(CFrameWnd) // Constructors public: static AFX_DATA const CRect rectDefault; CFrameWnd(); BOOL LoadAccelTable(LPCTSTR lpszResourceName); BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle = WS_OVERLAPPEDWINDOW, const RECT rect = rectDefault, CWnd* pParentWnd = NULL, LPCTSTR lpszMenuName = NULL, DWORD dwExStyle = 0, CCreateContext* pContext = NULL); // Implementation public: virtual ~CFrameWnd(); protected: virtual BOOL PreCreateWindow(CREATESTRUCT cs); virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); virtual void PostNcDestroy(); // default to delete this.… //{{AFX_MSG(CFrameWnd) // Windows messages afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); afx_msg void OnClose(); friend class CWinApp; }; 在CFrameWnd中,afx_msg表示后面的成员函数是消息处理函数。其中,有下列三个函数: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); afx_msg void OnClose(); 这三个消息处理函数分别处理以下窗口消息: 消息处理函数 消息 OnCreate() WM_PAINT OnDestroy() WM_DESTROY OnClose() WM_CLOSE 8.3.2 MFC应用程序的启动流程 下面是Mymfc程序的启动流程,如图8-17所示。 图8-17 Mymfc程序流程 需要解释的地方有以下几点: (1) 应用程序类:CWinApp的派生类,该类的每一个对象代表一个应用程序。程序中默认定义一个全局的对象,即theApp。 (2) Main函数:启动应用程序时,Windows调用应用程序框架内置的WinMain函数,WinMain寻找由CWinApp派生出的全局构造的应用程序对象theApp。 (3) 函数InitInstance:当WinMain函数找到应用程序对象theApp时,它调用虚成员函数InitInstance,这个成员函数调用所需的构造动态(在程序运行时)创建主窗口对象、视图对象和文档对象,以及主框架窗口和视图窗口,并显示应用程序的主框架窗口和视图窗口。 (4) 成员函数Run:函数Run隐藏在基类CWinApp中,它负责从消息队列中读取应用程序的消息到窗口,以保持应用程序的正常运行。在WinMain调用InitInstance之后,便调用Run函数。 (5) 成员函数ExitInstance:如果用户通过关闭主框架窗口来关闭应用程序,这个操作就将激发一系列事件的发生,包括从Run中退出,从WinMain中退出和应用程序对象的析构。 实际的Mymfc程序或者MFC应用程序的流程比Win32程序要复杂许多,主要差别在于以下几点: (1) 程序的主函数名为全局函数AfxWinMain()而不是WinMain()。
您可能关注的文档
- CRM在汽车集团的应用及宝马案例.doc
- csfb信令与指标体系研究分析.ppt
- CT-II冷切锯说明书new.doc
- CT技术在医学领域的应用PPT课件.ppt
- CU国际漫游交流-CS.ppt
- CT灌注成像的基本原理及脑部的临床应用.ppt.ppt
- C与C程序设计教程-第一章.ppt
- c算法大全常用c语言算法,包括数论算法,图论算法排序算法高精度计算树的遍历算法等等.doc
- C语言到C语言.ppt
- C实习报告--学生学籍成绩管理系统画线.doc
- MidasGen的建模分析功能初探.doc
- MIMO-OFDM系统中自适应技术研究,毕业设计.doc
- mgc第三章 酶的固定化.ppt
- MMS基础知识PPT课件.ppt
- MBA经典案例分析大全.doc
- MPLS技术与传统路由器IP寻址比较 - 基于ATM的MPLS技术及与传统路由器.doc
- MRP II工作流程使用说明书.doc
- MSC SimManager 新一代企业级仿真管理平台.doc
- Mozambique Second License Round - Energistics The Energy 莫桑比克第二轮energistics能源许可证.ppt
- MSC SimManager 新一代企业级仿真管理平台.doc.doc
最近下载
- 2025年包头铁道职业技术学院单招职业适应性考试题库完整版.docx VIP
- 2025年包头铁道职业技术学院单招职业适应性考试题库汇编.docx VIP
- 2024《企业现金流量管理问题研究国内外文献综述》7000字.docx VIP
- 交互设计(第2版)教学课件257.ppt VIP
- 2024年徐州幼儿师范高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- focus-pdca改善案例-提高护士对糖尿病患者胰岛素注射部位正确轮换执行率.pptx
- 2025年合肥通用职业技术学院单招职业技能考试题库及答案1套.docx VIP
- 装配式建筑预制构件运输与堆放—构件现场存放管理.pptx
- 儿保科的发展与规划.pptx
- 思想道德修养与法律基础说课PPT课件.ppt
文档评论(0)