消息的概念VisualC5-7.pptVIP

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

5 消息 5.1 消息的概念 消息处理是Windows应用程序的核心。简单地说,消息就是操作系统通知应用程序某件事情已经发生的一种方式。 5.1.1 消息的处理机制 消息通信方式是Windows操作系统的一大特点,操作系统将包括用户输入在内的各种事件以消息的形式发送到目标,目标系统再根据消息的具体内容进行相应的处理。 5.1.2 消息的映射 通过消息映射,消息和它的处理函数能够对应起来。在Visual C++中,只需要编写对于该消息发生响应的函数,而Visual C++内部将自动添加一个消息映射关系。 5.1.3 消息的种类 1)标准的Windows消息 标准的Windows消息可以分为3类:键盘消息、鼠标消息、窗口消息。 2)控件通知消息 3)命令消息 5.2 发送和接收消息 5.3 获取用户的输入 5.3.1 键盘输入 1)键盘消息 当键盘的某个键被按下,将产生WM_CHAR消息,这个消息带有字符代码值、重复次数、先前状态码3个参数。WM_CHAR消息的处理函数为OnChar(),此函数的原型为: afx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags ); 其中,参数nChar是所按键的字符代码值;nRepCnt表示重复的次数,它表示用户按键时重复击键的次数;最后一个参数nFlags表示扫描码、先前键状态和键转换状态等,其含义如表5.3所示。 2)获取键盘输入 5.3.2 鼠标输入 1)鼠标消息 在Windows中处理鼠标操作基本上有下列3种: 单击(Click) 表示按一下鼠标的左键或右键,然后释放。 双击(Double Click) 表示快速连续按两下鼠标左键。 拖动(Drag) 指按住鼠标的按键后,移动鼠标。 所有这些鼠标操作,都会产生相应的消息。鼠标移动时产生WM_MOUSEMOVE消息;鼠标右键按下时产生WM_RBUTTONDOWN消息;鼠标左键按下时产生WM_LBUTT-ONDOWN消息;鼠标左键双击时产生WM_LBOTTONDBLCLK消息;鼠标右键释放时产生WM_RBUTTONUP消息;鼠标左键释放时产生WM_LBUTTONUP消息等等。 所有鼠标消息的处理函数都有很相似的原型,它们都有两个参数。以处理鼠标左键按下消息的函数OnLButtonDown()为例来进行说明。此函数的原型如下: afx_msg void OnLButtonDown( UINT nFlags, CPoint point ); 参数point是鼠标事件发生时鼠标光标所在的位置,它是相对于窗口左上角的水平X坐标和垂直的Y坐标而言的。参数nFlags指明鼠标按钮的状态以及鼠标事件发生时键盘上某些键的状态,每一状态都可以由nFlags的一位来表示。可以从表5.4中所列的位屏蔽中得到每一位。其中,MK_CONTROL,MK_LBUTTON,MK_MBUTTON,MK_RBUTTON和MK_SHIFT都是预定义的宏。 2)获取鼠标消息 6 菜单、工具栏和状态栏 6.1 使用菜单 6.1.1 创建基本的菜单资源 有几种方法可以创建菜单,但最简单的方法是用菜单资源编辑器来进行设计。 6.1.2 为菜单添加快捷键功能 6.1.3 实现菜单功能 在MFC框架中,菜单消息是按照一定的顺序进行传递的。对于一个单文档应用程序,消息传递的顺序为:视图类→文档类→框架类→应用程序类。 在菜单资源中,定义了MFC如何来构造菜单的结构,同时还指定了菜单的资源ID号,MFC通过ClassWizard会自动把菜单和相应的框架窗口联系在一起。除了由系统产生的少量代码外,MFC不能自动地对程序的菜单项进行响应,具体实现必须手工添加代码实现。 对于每个菜单项,系统提供了COMMAND和UPDATE_COMMAND_UI两种选择。 6.2 工具栏和状态栏 6.2.1 工具栏 6.2.2 状态栏 6.2.3 工具栏、状态栏的实现 在框架类的实现文件MainFrm.cpp中的有一个成员函数OnCreate(),正是它完成了工具栏和状态栏的实现。 7 对话框 7.1 对话框的特性 7.1.1 对话框的组成 在Visual C++中,对话框主要由对话框资源和对话框类组成。 对话框资源 对话框资源中描述的是对话框的大小、风格等特性,以及对话框中的各种控件和它们的位置。定义对话框资源最简单最有效的方法就是使用Visual C++中的资源编辑器。 对话框类 对话框资源所提供的仅仅是一个数据结构,要利用所创建的对话框资源,必须要创建以它为资源的对话框类,对话框类是从CDialog类派生出的子类,它提供了编程接口来管理对话框。MFC通过CDialog来封装对话框的

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档