MFC中的消息路由

MFC中的消息路由

ID:39466201

大小:45.50 KB

页数:7页

时间:2019-07-04

MFC中的消息路由_第1页
MFC中的消息路由_第2页
MFC中的消息路由_第3页
MFC中的消息路由_第4页
MFC中的消息路由_第5页
资源描述:

《MFC中的消息路由》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFC中的消息路由2010-12-2112:07windows中的消息虽然很多,但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息。  窗口消息大概是系统中最为常见的消息,它是指由操作系统和控制其他窗口的窗口所使用的消息。例如CreateWindow、DestroyWindow和MoveWindow等都会激发窗口消息,还有我们在上面谈到的单击鼠标所产生的消息也是一种窗口消息。  命令消息,这是一种特殊的窗口消息,他用来处理从一个窗口发送到另一个窗口的用户请求,例如按下一个按钮,他就会向主窗口发送一个命令消息。  控件通知消息,是指这样一种消息,一个窗口

2、内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。她类似于命令消息,当用户与控件窗口交互时,那么控件通知消息就会从控件窗口发送到它的主窗口。但是这种消息的存在并不是为了处理用户命令,而是为了让主窗口能够改变控件,例如加载、显示数据。例如按下一个按钮,他向父窗口发送的消息也可以看作是一个控件通知消息;单击鼠标所产生的消息可以由主窗口直接处理,然后交给控件窗口处理。  其中窗口消息及控件

3、通知消息主要由窗口类即直接或间接由CWND类派生类处理。相对窗口消息及控件通知消息而言,命令消息的处理对象范围就广得多,它不仅可以由窗口类处理,还可以由文档类,文档模板类及应用类所处理。 mfc的消息传递时从子类开始,如果子类没有,再寻找父类的消息处理函数MFC程式的消息处理顺序MFC,顺序,程序MFC程式实际运用中处理消息的顺序1.AfxWndProc()     该参数负责接收消息,找到消息所属的CWndobject,然后调用AfxCallWndProc2.AfxCallWndProc() 该参数负责保存消息(保存的CONTENT内容主要是消息标识符和消息参数)

4、供程式实际运用以后实际运用,然后调用WindowProc()参数3.WindowProc()     该参数负责发送消息到OnWndMsg()参数,如果未被处理,则调用DefWindowProc()参数4.OnWndMsg()       该参数的功能首先按字节对消息停止排序,对于WM_comMAND消息,调用OnCommand()消息响应参数,对于WM_NOTIFY消息调用OnNotify()消息响应参数。任何被遗漏的消息将是唯一窗口消息。OnWndMsg()参数Search类的消息映像,以找到唯一能处理任何窗口消息的处理参数。如果OnWndMsg()参数无所不能

5、找到那样的处理参数的话,则把消息返回到WindowProc()参数,由它将消息发送给DefWindowProc()参数5.OnCommand()      该参数查看这也许则唯一控件通知(lParam参数不为NULL,如果lParam参数为空的话,说明该消息否则控件通知),如果它是,OnCommand()参数会试图将消息映射到制造通知的控件;如果他否则唯一控件通知(或者如果控件拒绝映射的消息)OnCommand()就会调用OnCmdMsg()参数6.OnCmdMsg()       根据接收消息的类,OnCmdMsg()参数将在唯一称为命令传递(CommandRou

6、ting)的过程中潜在的传递命令消息和控件通知。例如:如果拥有该窗口的类是唯一框架类,则命令和通知消息也被传递到视图和文档类,并为该类寻找唯一消息处理参数MFC程式实际运用创建窗口的过程1.PreCreateWindow()  该参数是唯一重载参数,在窗口被创建前,没去外国疑问在该重载参数中改变创建参数(没去外国疑问设置窗口风格等等)2.PreSubclassWindow()这也是唯一重载参数,允许首先子分类唯一窗口3.OnMinMaxInfo()  该参数为消息响应参数,响应的是WM_GETMINMAXINFO消息,允许设置窗口的最大或者最小尺寸4.OnNcCre

7、ate()       该参数也是唯一消息响应参数,响应WM_NCCREATE消息,发送消息以告诉窗口的区即将被创建5.OnNcCalcSize()     该参数也是消息响应参数,响应WM_NCCALCSIZE消息,功能是允许改变窗口区大小6.OnCreate()         该参数也是唯一消息响应参数,响应WM_CREATE消息,发送消息告诉唯一窗口已经被创建7.OnSize()           该参数也是唯一消息响应参数,响应WM_SIZE消息,发送该消息以告诉该窗口大小已经除了变化8.OnMove()           消息响应参数,响应WM_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。