当前位置:首页 > 无线信号问题 > 正文内容

mfc消息路由

楷峰2023年03月04日 10:40无线信号问题143

本篇文章给大家谈谈mfc消息路由,以及mfc添加消息处理函数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

MFC里的消息映射具体是怎么实现的?命令消息和一般消息有什么区别?

通过一系列的宏定义如DECLARE_MESSAGE_MAP,建立了一个类别型录网。如果是一般消息,消息的路由是沿着父类这条线找到消息响应函数。如果是命令消息,有特定的消息路由。

建议你读一读侯俊杰(侯捷)写的《深入浅出MFC》。

VC++和MFC到底是什么关系

vc++是一款1998年推出的编译器(准确的说就是集成开发环境)。

mfc是一款应用程序框架,它的出现甚至比vc++更早,所有前一位说vc++包括mfc是不正确的。而且不光vc++,vs里也提供mfc。准确的说class

wizard才是vc或者vs特有的,class

wizard这个插件作为vc等ide的一个功能提供了代码补全的功能,让用户使用mfc进行编程时更便捷。

但是,因为mfc是开源的,理论上你可以参考它的代码(如果你真有那个闲情逸致的话)把它做一定修改移植到别的ide上去用,如果你更有心,还可以为你移植的那个ide开发一个类似class

wizard的插件,那么那个ide也可以使用mfc了。

至于说mfc只是做界面的,这有点狭隘了,首先windows

api就提供了界面的绘制功能,你不用mfc一样可以创作窗口程序,并在其上绘图。其次,mfc是应用程序框架,它封装了常用的windows

api,将其以一定层次呈现在用户面前。在编译器不支持rtti的情况下,mfc的开发者生生地使用他们的方法在这个框架中提供rtti,将windows的消息响应机制通过message

map(消息映射),message

routing(消息路由)更自然地呈现在用户面前,在c++对容器的支持不那么完善的情况下,提供了便捷的链表类。总而言之,mfc绝不仅仅是做界面的。

最后说一句,mfc确实凝聚了一帮微软大牛的技术结晶,可是毕竟是20年前的结晶,事实上现在确实差不多被淘汰了(vc++也是)。。。。

MFC菜单项消息处理问题

要注意菜单命令的消息路由:

活动视图---文档---框架---APP对象

你切分窗口却不能保证右方的为活动视图。所以不能相应,确定的就是,消息如果美誉在活动视图处理,那就会在文档对象里处理,如果还没有处理,那就给框架处理,依次类推。

你可以把消息放到框架进行处理,也可以固定设定右方的视图为活动视图(但这样不知道对你左边的视图是否影响过大)。

什么是消息路由?有哪两种主要方式

1.MFC中的消息分为三种

(1)标准消息,也叫窗口消息(例:WM_PAINT,WM_CREATE,WM_LBUTTONDOWN,WM_CHAR)

(2)命令消息,来自菜单,工具栏和加速键,都以WM_COMMAND表示

(3)控件消息,控件消息又分为三小类,第一类和标准消息格式一样,第二类和命令消息格式一样(不过多了一个控件窗口的句柄),第三类是WM_NOTIFY.其具体细节不是本文叙述的重点.

2.为什么要消息路由?什么叫消息路由?

如果像SDK那样,我们的程序只有一个窗口,一个窗口函数,那哪还有消息路由呢?所有的消息都有一个窗口函数来处理了。至所以要消息路由,是因为MFC程序中有CMyView,CMyDoc,CMyFrameWnd,CMyApp等,MFC框架要做的工作是给用户提供一个机会,让用户可以选择这些类当中的任意一个来处理我们的命令消息。

注意,消息路由主要是针对上述的第二类消息(命令消息)。对于第一类窗口消息,其消息的接收者是确定的,不需要路由。比如:对于WM_CREATE消息,处理这个消息的类就是产生这个消息的窗口,你不可能让CMyDoc,CMyFrame,CMyApp去处理CView的WM_CREATE消息,那根本不符合逻辑,MFC框架当然也不会让你那么做。而对于来自菜单,工具栏的命令消息,用户是有选择权的,用户可以选择其接收者为View,Doc,App,Frame等当中的任意一个。下面就详细说一下命令消息的路由过程,主要通过分析MFC源代码。

原文链接:

关于mfc消息路由和mfc添加消息处理函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫描二维码推送至手机访问。

版权声明:本文由路由设置网发布,如需转载请注明出处。

本文链接:https://www.xt88888.com/post/8586.html

分享给朋友:

“mfc消息路由” 的相关文章

普通子母路由器怎么安装

普通子母路由器怎么安装

本篇文章给大家谈谈普通子母路由器怎么安装,以及普通子母路由器怎么安装网线对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、子母路由器使用方法? 2、子母路由器怎么连接...

路由器ap怎么连接图

路由器ap怎么连接图

本篇文章给大家谈谈路由器ap怎么连接图,以及路由器到ap接线示意图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、如何将无线路由和无线AP连接起来 2、无线路由做无线A...

易展怎么接路由器

易展怎么接路由器

本篇文章给大家谈谈易展怎么接路由器,以及易展路由器怎么连接家里的路由器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、易展路由器有线连接怎么操作? 2、华为路由器怎么连...

路由器怎么上网用手机

路由器怎么上网用手机

今天给各位分享路由器怎么上网用手机的知识,其中也会对手机如何上路由器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、路由器如何设置手机连WiFi上网 2、...

怎么用小米路由器组网

怎么用小米路由器组网

今天给各位分享怎么用小米路由器组网的知识,其中也会对小米路由器如何组网进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、小米路由器ax300能和小米路由器4a组...

怎么删去静态路由器设置

怎么删去静态路由器设置

本篇文章给大家谈谈怎么删去静态路由器设置,以及如何设置静态路由器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、思科设置了多个静态路由怎样删除 2、静态路由配置了,发现...