- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 MFC典型应用程序设计 ; 本章主要内容:;12.1 消息处理机制 ;1. MFC消息种类 ;Windows消息 ;●控件通知消息是指当控件的状态发生改变时,控件向其父窗口发送的消息。
● MFC对控件通知消息的传递方式与其他以WM开头的Windows消息一样,但BN_CLICKED例外,该消息的传递方式与命令消息的传递机制相同。
●对于Windows消息和控件通知消息,MFC将消息传递给相应的窗口处理。 ;定时消息 ;;2 MFC消息映射机制 ;;Visual C++的消息映射分为两个方面:
●一是在头文件.h中处理
●一是在实现文件.cpp中处理 ;;在头文件MyWinp.h中的消息映射代码 ;在实现文件中的消息映射代码 ;消息映射宏的使用;●在BEGIN_MESSAGE_MAP与END_MESSAGE_MAP中间列出了消息映射的各个入口。例如,以下消息映射语句:
ON_COMMAND(ID_FILE_OPEN,
CWinApp::OnFileOpen)
表示当用户单击了菜单项File|Open时,则发送WM_COMMAND消息,该消息找到此语句,发现资源ID值与资源ID_FILE_OPEN匹配,则执行该语句中指定的成员函数CWinApp::OnFileOpen ()。 ; 向导AppWizard生成的单文档应用程序一般包括四个基本类:
●应用程序类
●主框架窗口类
●文档类和
●视图类
;1.AppWizard向导生成的类和文件 ;;●MyWinP程序的应用程序类名为CMyWinPApp ,由CwinApp类派生而来。
●该类的每一个对象代表一个应用程序,程序中默认定义一个全局对象theApp。
●CMyWinPApp类的功能是管理整个应用程序,负责程序的启动、初始化、窗口的创建以及从Windows中获取消息并将消息分发到适当的目的地。CMyWinPApp类的声明在头文件MyWinPApp.h中,类的实现在CMyWinPApp.cpp中。;●CMyWinP应用程序的主框架窗口类名为CMainFrame,它由CWnd的一个子类派生而来,该子类即CFrameWnd。
●CMainFrame类的声明在头文件MainFrame.h中,类的实现在文件MainFrame.cpp中。
●CMainFrame类管理主框架窗口,并拥有一些如菜单、工具栏和状态栏等控件,同时,它还扮演转发菜单和工具栏消息的角色。 ; ●CMyWinP应用程序的文档类名为CMyWinPDoc,从MFC的CDocument类派生而来。其类的声明在头文件CMyWinPDoc.h中,类的实现在文件CMyWinPDoc.cpp中。
●文档类的主要作用是保存应用程序的数据,并提供磁盘文件操作。
●用户需要修改文档类,增加成员变量以存储应用程序的数据、增加成员函数以获得和修改数据,然后为应用程序服务。 ; ● CMyWinP应用程序的视图类名为CMyWinPView,类的声明在头文件MyWinPView.h中,而类的实现在文件MyWinPView.cpp中。
●视图类主要管理视图窗口,负责用户数据的输入和数据的输出显示。
●在创建一个单文档应用程序时,也可以选择将视图类从非CView类的其他子类派生出来,例如,在Base Class中选择CEditView作为基本视图类,则可以很方便的得到一个简易的字处理程序。 ;(5) 其他文件 ;2. 应用程序的运行机制 ;12.3 输入/输出处理程序 ;1. 文本输出程序 ;DrawText函数 ;参数含义;TextOut函数 ;参数含义 ;OnDraw函数 ;GetDocument函数 ;2 键盘输入处理程序 ;键盘消息 ;
afx_msg void OnChar(UNIT nChar,UINT nRepCnt, UINT nFlags) ;虚拟键代码 ;部分常用的虚拟键代码 ;显示键盘输入字符程序的实现方法;3. 鼠标处理程序 ;鼠标消息 ;●鼠标消息属于Windows消息
●鼠标消息均可直接利用Visual C++6.0的ClassWizard向导添加鼠标消息处理函数
●与鼠标消息对应的消息处理函数如表12-3所示。 ;常用鼠标消息处理函数表 ;鼠标消息处理函数表(续);画笔的使用方法 ;12.4 菜单应用程序设计 ;1.菜单简介 ;菜单的基本属性 ;2. 菜单资源编辑器 ;●在项目工作区(Workspace)窗口中选择Resource View选项卡
●双击项目名,则应用程序所有的资源以树状形式显示出来
●双击Menu文件夹,列出所有菜单的标识符,对于单文档应用程序则
原创力文档


文档评论(0)