
什么是消息映射?它的作用是什么?
2个回答
展开全部
名词解释请参考百度百科,很详细,这里面说下个人的理解。在编程里面,一般都是通过指令控制程序模块的运行,具体指令和程序模块的对应关系,就是消息映射。
指令有很多,键盘任意一个按键,鼠标的点击,都是指令;程序功能模块也有很多,windows为了让指令和功能有唯一的对应关系,采用了消息映射机制,例如一个人和其姓名一样!
例如鼠标右键单击就是一个指令,右键单击后弹出快捷菜单,这是一个程序模块,系统里面把右键指令和菜单弹出模块绑定的部分,就是消息映射管理机制。
其实类似的功能,在dos界面编程里面都有接触过,你如以设置一个switch case循环,判断输入的数值:输入1调用函数1并返回主界面,2调用函数2....,0返回选择菜单。这个switch case模块就可以看成是一个具体的消息映射机制。
指令有很多,键盘任意一个按键,鼠标的点击,都是指令;程序功能模块也有很多,windows为了让指令和功能有唯一的对应关系,采用了消息映射机制,例如一个人和其姓名一样!
例如鼠标右键单击就是一个指令,右键单击后弹出快捷菜单,这是一个程序模块,系统里面把右键指令和菜单弹出模块绑定的部分,就是消息映射管理机制。
其实类似的功能,在dos界面编程里面都有接触过,你如以设置一个switch case循环,判断输入的数值:输入1调用函数1并返回主界面,2调用函数2....,0返回选择菜单。这个switch case模块就可以看成是一个具体的消息映射机制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数对照表,即消息映射表。在消息映射表中,消息与对应的消息处理函数指针是成对出现的。某个类能处理的所有消息及其对应的消息处理函数的地址都列在这个类对应的静态表中。当有消息需要处理时,程序只要搜索该消息静态表,查看表中是否含有该消息,就可知道该类能否处理此消息。如果能处理该消息,则同样依照静态表很容易找到并调用对应的消息处理函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询