读书人

请问: 有关消息路由中OnCommand和OnNo

发布时间: 2012-08-29 08:40:14 作者: rapoo

请教: 有关消息路由中OnCommand和OnNotify的疑问
在消息路由中,有几个虚函数,对他们分别的作用我不是很了解,请大家帮忙解答一下,谢谢了.
OnCmdMsg的作用是根据消息到底是命令消息,窗口消息还是一般的消息,分类进行处理,因为控件的反射消息和通知消息
需要反射给控件.所以需要区别对待.不知道我这样理解对不对.
那么,OnCommand和OnNotify源代码中的分类处理究竟是为什么呢?分别针对什么情况?

对于视图类,文档类,框架类等类中的OnCmdMsg,以下是我的理解,大家帮忙看看对不对.
OnCmdMsg:
在CCmdTarget中,OnCmdMsg用来对照消息映射表,找到合适的处理函数
在CWnd中,没有被overload,所以还是调用的CCmdTarget::OnCmdMsg
在CFrameWnd,View,Document中,被重载了,他们实现消息的路由:
CFrameWnd优先view处理之,然后自己,最后app
而在view处理的时候,他先优先自己处理,然后是document
document在处理的时候,优先自己,然后文档模板类
所以OnCmdMsg是为了在几个类中,实现个性化的路由路径.

OnCommand源代码中,对一般的命令消息的处理和最后一行,都有OnCmdMsg,两者的区别?分别的作用是什么?



[解决办法]
我也不太懂啊,呵

读书人网 >VC/MFC

热点推荐