【codeguru】消息映射

 

这个部分列出了所有的消息映射宏和所有的CWnd消息映射条目及其对应的成员函数原型。

分类 描述
WM_COMMAND消息处理函数 处理用户菜单选择或菜单键产生的WM_COMMAND消息
子窗口通知消息处理函数 处理子窗口发出的通知消息
WM_消息处理函数 处理WM_消息,如WM_PAINT
用户自定义消息处理函数 处理用户自定义消息

 

WM_COMMAND消息处理函数

映射入口 函数原型
ON_COMMAND( <id>, <memberFxn> ) afx_msg void memberFxn( );

 

子窗口通知消息处理函数
子窗口通知消息有五个部分:

分类 描述
普通控件处理函数 处理通用控件通知代码
用户按钮处理函数 处理用户按钮通知代码
组合框处理函数 处理组合框通知代码
编辑控件处理函数 处理编辑控件通知代码
列表框处理函数 处理列表框通知代码

 

(本参考中使用的术语和阅读的解释参见“如何使用消息映射交叉参考”)

由于Windows是一个面向消息的操作系统,在Windows环境下很大一部分编程工作涉及消息处理。每当发生一个事件,如击键或鼠标点击,就会向应用程序发送一个消息,然后由它来处理事件。
微软基础类库提供了为基于消息的编程而优化的编程模式。在这种模式下,“消息映射”被用于指明哪个函数将为特定的类处理不同的消息。消息映射包含了一个或多个宏,用以指定哪个函数处理哪个消息。例如,一个包含ON_COMMAND宏的消息映射看起来可能象这样:
BEGIN_MESSAGE_MAP( CMyDoc, CDocument )
  //{{AFX_MSG_MAP( CMyDoc )
  ON_COMMAND( ID_MYCMD, OnMyCommand )
  // ...其它入口,用于处理另外的消息
  //}}AFX_MSG_MAP
END_MESSAGE_MAP( )
ON_COMMAND宏被用于处理菜单、按钮和加速键产生的命令消息。可以用宏来映射下列消息:

Windows消息

·控件通知
·用户自定义消息

命令消息
·注册的用户自定义消息
·用户界面更新消息

消息范围
·命令
·更新处理消息
·控件通知

尽管消息映射宏很重要,通常你并不需要直接使用它们。这是因为当你用ClassWizard把消息处理函数与消息关联在一起的时候,它将会在源文件中自动创建消息映射入口。不论何时你希望编辑或加入消息映射条目,你都可以使用ClassWizard。
注意:ClassWizard不支持消息映射范围。你必须自己写入这些消息映射入口。
但是,消息映射是微软基础类库中很重要的一个部分。你必须理解它们的作用,类库也提供了有关文档。 <script src="http://www.codeguru.cn/public/ReferenceBottom.js"></script> <script src="showxml.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值