网站大量收购独家精品文档,联系QQ:2885784924

第三章MFC应用程序框架剖析.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章MFC应用程序框架剖析

第3章 MFC 应用程序框架剖析;;3.1最简单的应用程序;#include afxwin.h class CHelloFrame : public CFrameWnd { public: CHelloFrame() { Create(NULL, Hello World!, WS_OVERLAPPEDWINDOW, rectDefault); } }; class CHelloApp : public CWinApp { public: virtual BOOL InitInstance() { m_pMainWnd = new CHelloFrame(); m_pMainWnd-ShowWindow(m_nCmdShow); m_pMainWnd-UpdateWindow(); return TRUE; } }; CHelloApp HelloApp; //定义一个全局CHelloApp对象;3.2 带文档—视图结构的MFC程序基本框架类和文件组成;;;;文档类 ;视图类 ;框架类; ;;应用类 ;应用程序主要源文件组成; ;;;;注意; WINDOWS应用程序一定要有WinMain函数,该函数用来完成一些特殊的任务,象创建程序的主窗口,主窗口用来处理消息的代码。MFC将WinMain隐藏在框架中,不象写SDK (Software Development Kit)程序时可以很容易的找到它。 WINDOWS采用的消息处理机制也交给了程序框架,我们不必担心如何使这些消息和代码联系起来。并且WINDOWS定义好了一些消息,当窗口被创建时系统就会发送WM_CREATE消息,当点击鼠标左键时便系统会发送WM_LBUTTONDOWN消息,当用户按下键盘时系统会发送WM_CHAR消息,当用户关闭窗口时系统会发送WM_CLOSE消息,当用户进行菜单项选择或单击按钮时系统回发送WM_COMMAND消息,什么都不做系统还会发送WM_TIMER消息。;3.3 MFC应用程序的执行步骤 ;(1)调用CWinApp类构造函数;(2)WinMain接受控制;(3)调用函数InitInstance进行初始化;(4)WinMain处理消息;(5)WinMain退出,程序终止;3.4 使用ClassWizard;1. Windows消息;窗口消息;控件的通知消息;命令消息;;2. 消息处理函数;3. ClassWizard的启动;MFC ClassWizard对话框的组成;4.ClassWizard管理消息处理函数;;几点说明;;;;几点说明;;5.ClassWizard管理重载虚函数;重载虚函数;;FilePath=lpszPathName; //得到当前文档的名称 int n=FilePath.Find(.); //得到文件名中.的位置 if(n0) //如果当前的文档名称有后缀,去掉后缀 FileName=FilePath.Left(n); else //如果文档名称中没有后缀 FileName=FilePath; FileName+=.tmp; //增加一个.tmp后缀 //以二进制方式打开一个可读写的文件,文件不存在就新建一个 Fundo.Open(FileName,CFile::modeCreate|CFile::modeReadWrite|CFile::typeBinary); 并在文档类CDrawDoc中定义如下变量: CFile Fundo; CString FilePath,FileName;;几点说明: (1)ClassWizard对文档类CDrawDoc所作的修改 定义部分 //{{AFX_VIRTUAL(CDrawDoc) public: virtual BOOL OnNewDocument(); virtual void Serialize(CArchive ar); virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); //}}AFX_VIRTUAL 实现部分 BOOL CDrawDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; //TODO:Add your specialized creation code here return TRUE; };;必须在真正掌握程序的框架构造基础上使用工具 初学者应先花费大量的精力弄懂MFC程序框架的组成结构,而后才能游刃有余的控制程序。最不可取的是不懂框架结构和工具本质作用而

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档