9512.net
甜梦文库
当前位置:首页 >> 自然科学 >>

MFC消息响应顺序


查看文章 全面解析 MFC 应用程序中处理消息的顺序(转) 2009-12-19 15:01 C++(VC)编程 1.AfxWndProc() 该函数负责接收消息,找到消息所属的 CWnd 对象,然后调用 AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以 后使用,然后调用 WindowProc()函数 3.WindowProc() 该函数负责发送消息到 OnWndMsg()函数,如果未被处理,则调用 DefWindowProc()函数 4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于 WM_COMMAND 消息,调用 OnCommand()消息响应函数, 对于 WM_NOTIFY 消息调用 OnNotify()消息响应函数。 任何被遗漏的消息将是一个窗口消息。OnWndMsg()函数搜索类的消息映像,以找 到一个能处理任何窗口消息的处理函数。如果 OnWndMsg()函数不能找到这样的 处理函数的话,则把消息返回到 WindowProc()函数,由它将消息发送给 DefWindowProc()函数 5.OnCommand() 该函数查看这是不是一个控件通知(lParam 参数不为 NULL,如果 lParam 参数为 空的话,说明该消息不是控件通知),如果它是,OnCommand()函数会试图将消息 映射到制造通知的控件;如果他不是一个控件通知(或者如果控件拒绝映射的消 息)OnCommand()就会调用 OnCmdMsg()函数 6.OnCmdMsg() 根据接收消息的类,OnCmdMsg()函数将在一个称为命令传递(Command Routing) 的过程中潜在的传递命令消息和控件通知。例如:如果拥有该窗口的类是一个框 架类,则命令和通知消息也被传递到视图和文档类,并为该类寻找一个消息处理 函数 MFC 应用程序创建窗口的过程 1.PreCreateWindow() 该函数是一个重载函数, 在窗口被创建前, 可以在该重载函数中改变创建参数(可 以设置窗口风格等等) 2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口

3.OnGetMinMaxInfo() 该函数为消息响应函数,响应的是 WM_GETMINMAXINFO 消息,允许设置窗口的最 大或者最小尺寸 4.OnNcCreate() 该函数也是一个消息响应函数,响应 WM_NCCREATE 消息,发送消息以告诉窗口的 客户区即将被创建 5.OnNcCalcSize() 该函数也是消息响应函数,响应 WM_NCCALCSIZE 消息,作用是允许改变窗口客户 区大小 6.OnCreate() 该函数也是一个消息响应函数,响应 WM_CREATE 消息,发送消息告诉一个窗口已 经被创建 7.OnSize() 该函数也是一个消息响应函数,响应 WM_SIZE 消息,发送该消息以告诉该窗口大 小已经发生变化 8.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息说明窗口在移动 9.OnChildNotify() 该函数为重载函数,作为部分消息映射被调用,告诉父窗口即将被告知一个窗口 刚刚被创建 MFC 应用程序关闭窗口的顺序(非模态窗口) 1.OnClose() 消息响应函数,响应窗口的 WM_CLOSE 消息,当关闭按钮被单击的时候发送此消 息 [Page] 2.OnDestroy() 消息响应函数,响应窗口的 WM_DESTROY 消息,当一个窗口将被销毁时,发送此 消息 3.OnNcDestroy() 消息响应函数,响应窗口的 WM_NCDESTROY 消息,当一个窗口被销毁后发送此消 息 4.PostNcDestroy() 重载函数,作为处理 OnNcDestroy()函数的最后动作,被 CWnd 调用

MFC 应用程序中打开模式对话框的函数调用顺序 1.DoModal() 重载函数,重载 DoModal()成员函数 2.PreSubclassWindow() 重载函数,允许首先子分类一个窗口 3.OnCreate() 消息响应函数,响应 WM_CREATE 消息,发送此消息以告诉一个窗口已经被创建 4.OnSize() 消息响应函数,响应 WM_SIZE 消息,发送此消息以告诉窗口大小发生变化 5.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息,以告诉窗口正在移动 6.OnSetFont() 消息响应函数,响应 WM_SETFONT 消息,发送此消息,以允许改变对话框中控件 的字体 7.OnInitDialog() 消息响应函数,响应 WM_INITDIALOG 消息,发送此消息以允许初始化对话框中的 控件,或者是创建新控件 8.OnShowWindow() 消息响应函数,响应 WM_SHOWWINDOW 消息,该函数被 ShowWindow()函数调用 9.OnCtlColor() 消息响应函数,响应 WM_CTLCOLOR 消息,被父窗口发送已改变对话框或对话框上 面控件的颜色 10. OnChildNotify() 重载函数,作为 WM_CTLCOLOR 消息的结果发送 MFC 应用程序中关闭模式对话框的顺序 1.OnClose() 消息响应函数,响应 WM_CLOSE 消息,当\"关闭\"按钮被单击的时候,该函数被 调用 2.OnKillFocus() 消息响应函数,响应 WM_KILLFOCUS 消息,当一个窗口即将失去键盘输入焦点以 前被发送

3.OnDestroy() 消息响应函数,响应 WM_DESTROY 消息,当一个窗口即将被销毁时,被发送 4.OnNcDestroy() 消息响应函数,响应 WM_NCDESTROY 消息,当一个窗口被销毁以后被发送 5.PostNcDestroy() 重载函数,作为处理 OnNcDestroy()函数的最后动作被 CWnd 调用 打开无模式对话框的顺序 1.PreSubclassWindow() 重载函数,允许用户首先子分类一个窗口 2.OnCreate() 消息响应函数,响应 WM_CREATE 消息,发送此消息以告诉一个窗口已经被创建 [Page] 3.OnSize() 消息响应函数,响应 WM_SIZE 消息,发送此消息以告诉窗口大小发生变化 4.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息以告诉窗口正在移动 5.OnSetFont() 消息响应函数,响应 WM_SETFONT 消息,发送此消息以允许改变对话框中控件的 字体 以上这些的执行都是按给定的顺序执行! 只有清楚的了解应用程序的执行顺序,才能在编写代码的时候知道,在什么时候 应该执行什么,以及在什么地方该处理什么! 这只是本人总结的一点小小的经验,希望能对 MFC 的初学者有所帮助!MFC 应用 程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的 CWnd 对象,然后调用 AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以 后使用,然后调用 WindowProc()函数 3.WindowProc() 该函数负责发送消息到 OnWndMsg()函数,如果未被处理,则调用 DefWindowProc()函数

4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于 WM_COMMAND 消息,调用 OnCommand()消息响应函数, 对于 WM_NOTIFY 消息调用 OnNotify()消息响应函数。 任何被遗漏的消息将是一个窗口消息。OnWndMsg()函数搜索类的消息映像,以找 到一个能处理任何窗口消息的处理函数。如果 OnWndMsg()函数不能找到这样的 处理函数的话,则把消息返回到 WindowProc()函数,由它将消息发送给 DefWindowProc()函数 5.OnCommand() 该函数查看这是不是一个控件通知(lParam 参数不为 NULL,如果 lParam 参数为 空的话,说明该消息不是控件通知),如果它是,OnCommand()函数会试图将消息 映射到制造通知的控件;如果他不是一个控件通知(或者如果控件拒绝映射的消 息)OnCommand()就会调用 OnCmdMsg()函数 6.OnCmdMsg() 根据接收消息的类,OnCmdMsg()函数将在一个称为命令传递(Command Routing) 的过程中潜在的传递命令消息和控件通知。例如:如果拥有该窗口的类是一个框 架类,则命令和通知消息也被传递到视图和文档类,并为该类寻找一个消息处理 函数 MFC 应用程序创建窗口的过程 1.PreCreateWindow() 该函数是一个重载函数, 在窗口被创建前, 可以在该重载函数中改变创建参数(可 以设置窗口风格等等) 2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口 3.OnGetMinMaxInfo() 该函数为消息响应函数,响应的是 WM_GETMINMAXINFO 消息,允许设置窗口的最 大或者最小尺寸 4.OnNcCreate() 该函数也是一个消息响应函数,响应 WM_NCCREATE 消息,发送消息以告诉窗口的 客户区即将被创建 [Page] 5.OnNcCalcSize() 该函数也是消息响应函数,响应 WM_NCCALCSIZE 消息,作用是允许改变窗口客户 区大小 6.OnCreate() 该函数也是一个消息响应函数,响应 WM_CREATE 消息,发送消息告诉一个窗口已 经被创建

7.OnSize() 该函数也是一个消息响应函数,响应 WM_SIZE 消息,发送该消息以告诉该窗口大 小已经发生变化 8.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息说明窗口在移动 9.OnChildNotify() 该函数为重载函数,作为部分消息映射被调用,告诉父窗口即将被告知一个窗口 刚刚被创建 MFC 应用程序关闭窗口的顺序(非模态窗口) 1.OnClose() 消息响应函数,响应窗口的 WM_CLOSE 消息,当关闭按钮被单击的时候发送此消 息 2.OnDestroy() 消息响应函数,响应窗口的 WM_DESTROY 消息,当一个窗口将被销毁时,发送此 消息 3.OnNcDestroy() 消息响应函数,响应窗口的 WM_NCDESTROY 消息,当一个窗口被销毁后发送此消 息 4.PostNcDestroy() 重载函数,作为处理 OnNcDestroy()函数的最后动作,被 CWnd 调用 MFC 应用程序中打开模式对话框的函数调用顺序 1.DoModal() 重载函数,重载 DoModal()成员函数 2.PreSubclassWindow() 重载函数,允许首先子分类一个窗口 3.OnCreate() 消息响应函数,响应 WM_CREATE 消息,发送此消息以 告诉一个窗口已经被创建 4.OnSize() 消息响应函数,响应 WM_SIZE 消息,发送此消息以告 诉窗口大小发生变化 5.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息,以 告诉窗口正在移动 6.OnSetFont() 消息响应函数,响应 WM_SETFONT 消息,发送此消息, 以允许改变对话框中控件的字体 7.OnInitDialog() 消息响应函数,响应 WM_INITDIALOG 消息,发送此消 息以允许初始化对话框中的控件,或者是创建新控件 8.OnShowWindow() ShowWindow()函数调用 消息响应函数,响应 WM_SHOWWINDOW 消息,该函数被

9.OnCtlColor() 消息响应函数,响应 WM_CTLCOLOR 消息,被父窗口发 送已改变对话框或对话框上面控件的颜色 10. OnChildNotify() 重载函数, 作为 WM_CTLCOLOR 消息的结果发送 [Page] MFC 应用程序中关闭模式对话框的顺序 1.OnClose() 消息响应函数,响应 WM_CLOSE 消息,当\"关闭\"按钮被单 击的时候,该函数被调用 2.OnKillFocus() 消息响应函数,响应 WM_KILLFOCUS 消息,当一个窗口即将 失去键盘输入焦点以前被发送 3.OnDestroy() 消息响应函数,响应 WM_DESTROY 消息,当一个窗口即将被 销毁时,被发送 4.OnNcDestroy() 消息响应函数,响应 WM_NCDESTROY 消息,当一个窗口被销 毁以后被发送 5.PostNcDestroy() 重载函数, 作为处理 OnNcDestroy()函数的最后动作被 CWnd 调用 打开无模式对话框的顺序 1.PreSubclassWindow() 重载函数,允许用户首先子分类一个窗口 2.OnCreate() 消息响应函数,响应 WM_CREATE 消息,发送此消息 以告诉一个窗口已经被创建 3.OnSize() 消息响应函数,响应 WM_SIZE 消息,发送此消息以 告诉窗口大小发生变化 4.OnMove() 消息响应函数,响应 WM_MOVE 消息,发送此消息以 告诉窗口正在移动 5.OnSetFont() 消息响应函数,响应 WM_SETFONT 消息,发送此消息 以允许改变对话框中控件的字体 以上这些的执行都是按给定的顺序执行! 只有清楚的了解应用程序的执行顺序,才能在编写代码的时候知道,在什么时候 应该执行什么,以及在什么地方该处理什么! 这只是本人总结的一点小小的经验,希望能对 MFC 的初学者有所帮助!



更多相关文章:
MFC函数处理消息响应执行顺序解读.doc
MFC函数处理消息响应执行顺序解读 - 1.AfxWndProc( 该函数负责接
MFC的运行机制和消息响应机制_图文.doc
MFC的运行机制和消息响应机制_计算机软件及应用_IT/计算机_专业资料。MFC 的类...MFC中消息映射机制 4页 免费 MFC消息响应顺序 7页 免费 喜欢此文档的还喜欢...
MFC消息响应顺序.doc
MFC消息响应顺序 - 查看文章 全面解析 MFC 应用程序中处理消息的顺序(转
MFC消息顺序.doc
MFC消息顺序 - MFC 应用程序中处理消息顺序 1.AfxWndProc(
MFC添加消息响应函数的方法.doc
MFC添加消息响应函数的方法 - 1、使用类向导 2、类视图右键... 函数| 响应| 消息|MFC添加消息响应函数的方法_计算机软件及应用_IT/计算机_专业资料。1、使用类向...
MFC程序的消息处理顺序.doc
MFC程序的消息处理顺序 - MFC 应用程序中处理消息的顺序 1.AfxWnd
mfc 消息响应机制.doc
mfc 消息响应机制 - --- MFC 是 Windows 下程序设计的最流行
MFC中的消息发送与响应.doc
MFC中的消息发送与响应 - MFC 中的消息发送与响应 1. 主窗口向子窗口发送消息: http://blog.csdn.net/phenixyf/article/details/930042...
MFC消息处理函数总结解读.doc
MFC 应用程序关闭窗口的顺序 (非模态窗口 1.OnClose( 消息响应函数,响应窗口的 WM_CLOSE 消息,当关闭按钮被单击的 时候发送 此消息 2.OnDestroy( 消息响应函数...
MFC程序中消息以及函数的处理顺序.txt
MFC程序中消息以及函数的处理顺序 - MFC程序中消息以及函数的处理顺序 MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对...
MFC应用程序中处理消息顺序.doc
MFC应用程序中处理消息顺序 - MFC 应用程序中处理消息顺序 1.AfxWndProc() AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的...
MFC应用程序中处理消息顺序.txt
MFC应用程序中处理消息顺序 - MFC应用程序中处理消息顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc...
MFC程序的启动过程与相关函数的执行顺序.doc
MFC程序的启动过程与相关函数的执行顺序_计算机软件及应用_IT/计算机_专业资料。...9、把消息处理函数连接在一起Message Map 机制 到此,主窗口已经产生,...
MFC双击List消息响应.doc
MFC双击List消息响应 - 很多时候,我们在用CListCtrl创建一个列表
MFC消息处理函数总结.doc
部分消息映射被调用, 告诉父窗口即将被告知一 个窗口刚刚被创建 MFC 应用程序关闭窗口的顺序(非模态窗口) 1.OnClose() 消息响应函数,响应窗口的 WM_CLOSE 消息,...
常用MFC类和消息处理.doc
常用MFC类和消息处理_理学_高等教育_教育专区。本文是由奥巴马整理的C++应用程序...();//将字符串中各字符的顺序倒转 (4) void Empty(); //将字符串中所有...
MFC消息响应函数的逆向定位.pdf
MFC消息响应函数的逆向定位 - 定位程序中各种关键函数的位置是软件逆向分析的一
MFC对话框程序键盘消息响应与快捷键的实现_图文.pdf
MFC对话框程序键盘消息响应与快捷键的实现 - 计算机系统应用 20 5 年第 2 期 M FC 对话框程序键盘消息 响应 与 快捷 键的实现魏...
MFC对话框程序键盘消息响应与快捷键的实现.pdf
MFC对话框程序键盘消息响应与快捷键的实现 - 在VC中使用MFC完成的对话框程序,在键盘消息响应和快捷键的实现上,没有提供直接的实现方式.通过分析MFC对对话框程序...
MFC内部的执行顺序.txt
MFC的执行顺序 ---来自网络很多刚学MFC的人都会被MFC给弄的晕头转向。以前...回调函数处理(实际上分派的消息经过消息映射,交由消息响应函数进行处理。) } ...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图