《Lesson06消息处理.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  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文档。上传文档
查看更多
《Lesson06消息处理

Lesson 06 消息处理 Windows程序是基于消息,事件驱动的。本课学习消息处理和消息映射的建立方法。 一、用ClassWizard处理消息 ClassWizard(类向导)是VisualC++6.0集成开发环境所提供的工具之一。使用Class Wizard可以很方便的为应用程序添加消息处理,ClassWizard会自动为开发人员完成大部分重复的程序代码。 1.Class Wizard 在ClassWizard对话框中一共有5个选项卡,其中第一个选项卡Message Maps(消息映射)就是用来添加各种消息处理的。在消息映射选项卡中主要有以下5个控件,从左到右,从上到下依次为: ①Projects(工程名)组合框 允许用户选择当前工作区中包含的工程。 ②Class Name(类名)组合框 允许用户选择当前工程中能够处理消息的类。单击组合框右边的下拉按钮,可以对要添加消息处理的类进行选择。 ③Objects Ids(对象ID号)列表框 列出当前选中的类名及相关的ID。对于主窗口和视图来说,这些ID为菜单项的标识;对于对话框来说,这些ID为对话框所含控件的ID。 ④Messages(消息)列表框 列出当前所选类及所选择ID可以重写的虚方法以及可接收(或者发送)的消息。 ⑤Member Functions(成员函数)列表框 列出Class Name组合框中当前选中的类所包含的所有成员函数。用户可以增加、删除成员函数,也可以对成员函数进行编辑。函数前面有“V”标志的表示该函数为虚函数,函数前面有“W”标志的表示该函数为Windows消息处理函数。 除此以外,消息映射选项卡的右边还有4个按钮: ●Add Class…(添加类)按钮 此按钮允许用户往工程里添加新类。在按钮边有一个向下的小箭头,表明按些按钮将弹出一个菜单。菜单中包含两项:New…菜单项可以新建一个类;From a type lib…则用于从一个类库中导入类。 ●Add Function(添加函数)按钮 它允许用户往Member Functions列表框中加进一个新的消息处理成员函数,该新增成员函数被用来响应Message Maps列表中当前所选中的消息或者虚方法。 注意:新添加的函数被添加到Class Name(类名)组合框中所选择的当前类中。因此,在添加消息处理时一定要首先选择好要添加的类。 ●Delete Function(删除函数)按钮 用于删除Member Functions列表框中所选中的成员函数。 ●Edit Code(编辑代码)按钮 它允许用户对Member Functions中所选中的成员函数进行编辑。如果单击此按钮,此时VisualC++6.0将首先关闭MFC Class Wizard对话框,然后将选中的成员函数打开在集成开发环境中的编辑窗口中,以方便开发人员进行编辑。 2.为菜单项添加消息处理 打开2DCAD工程,菜单项添加消息处理: 第1步:选择View菜单下的Class Wizard…菜单项。 第2步:在弹出的对话框中选择Message Maps选项卡,首先在Class Name下拉列表中选择Cmy2DCADView类(即视图类),然后在Object Ids列表模式中选择ID_GRAPH_POINT,此时Messages列表框中只有两个消息:COMMADA(命令消息)和UPDATE_COMMAND_UI(更新命令用户界面消息)。 菜单项COMMAND消息在用户单击某个菜单项的时候发送,当单击某个菜单希望执行某种功能时处理这个消息,而UPDATE_COMMAND_UI消息则是当菜单(或者工具栏)需要重新绘制或者更新时由系统发送,当需要维护用户界面状态时处理这个消息。 第3步:在Message列表框中双击COMMAND项(或者选中COMMAND)然后单击Add Function按钮,在这个对话框中,给出了默认的成员函数名,当然也可以改为其他名字。 默认函数名是根据ID名称来规定的,遵循菜单项命名规则,可以给所添加的消息处理函数一个规范易懂的默认函数名。 第4步:按OK接受默认的成员函数名。OnGraphPoint成员函数就出现在MemberFuctions列表框中,函数名后显示了所映射的消息。 此时就已经为画点菜单项添加了消息处理函数,下面来编写函数代码。 第5步:单击ClassWizard对话框右边的Edit Code按钮,此时ClassWizard对话框被关闭,同时在集成开发环境的编辑窗口中,出现了OnGraphPoin函数的代码。修改OnGraphPoin函数如下: void CMy2DCADView::OnGraphPoint() { CClientDC dc(this); //在视图区中输出文本“画点” dc.TextOut(

文档评论(0)

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

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

1亿VIP精品文档

相关文档