[罗振辉]MFC中菜单命令路由方式
2009-02-23 22:59
190 查看
昨天在研究window mobile菜单编程的时候遇到了菜单路由方法的问题。其实这个问题在去年就已经遇到过了,而且得到了解决但是一直以来都没有去认真的总结一下。
window消息分三种类型:标准形式(WM_COMMAND)、命令形式(一般与ID_开头)、通告消息形式(一般是事件触发进行、处理方法一般是一个函数)。
菜单命令路由方式是标准的消息处理形式。具体路由步骤如下
(1)在视类的源程序中有两处信息,在两个AFX_MSG注释宏之间添加命令消息相应函数原型。
protected:
//{{AFX_MSG(CMenuView)
afx_msg void OnTest();-----添加的消息相应函数原型
//}}AFX_MSG
(2)在视类的源文件中有两处信息,一处是在两个AFX_MSG_MAP注释宏之间添加了ON_COMMAND宏,将菜单ID与命令相应函数关联起来。
BEGIN_MESSAGE_MAP(Cmenuview cview)
ON_WM_CNTEXTMENU();
//{{AFX_MSG_MAP(CMENUVIEW)
ON_COMMAND(IDM_TEST,OnTest);
//}}AFX_MSG_MAP
(3)添加函数原型和具体代码
void CMenuView::OnTest()
{
//TODO:Add your command handler code here
MessageBox(LPSTR("Hello world!"));
}
window消息分三种类型:标准形式(WM_COMMAND)、命令形式(一般与ID_开头)、通告消息形式(一般是事件触发进行、处理方法一般是一个函数)。
菜单命令路由方式是标准的消息处理形式。具体路由步骤如下
(1)在视类的源程序中有两处信息,在两个AFX_MSG注释宏之间添加命令消息相应函数原型。
protected:
//{{AFX_MSG(CMenuView)
afx_msg void OnTest();-----添加的消息相应函数原型
//}}AFX_MSG
(2)在视类的源文件中有两处信息,一处是在两个AFX_MSG_MAP注释宏之间添加了ON_COMMAND宏,将菜单ID与命令相应函数关联起来。
BEGIN_MESSAGE_MAP(Cmenuview cview)
ON_WM_CNTEXTMENU();
//{{AFX_MSG_MAP(CMENUVIEW)
ON_COMMAND(IDM_TEST,OnTest);
//}}AFX_MSG_MAP
(3)添加函数原型和具体代码
void CMenuView::OnTest()
{
//TODO:Add your command handler code here
MessageBox(LPSTR("Hello world!"));
}
相关文章推荐
- MFC添加菜单资源与菜单执行函数的两种命令形式
- MFC命令消息路由 ------ (图)
- MFC菜单的命令更新机制
- 【VC++】010菜单命令的路由
- 菜单命令消息路由过程分析
- 删除 MFC 默认菜单的两种方式
- 2017.6.20 MFC菜单命令及响应顺序
- 【摘】在Window下右键方式打开Dos命令窗口-右键菜单支持DOS命令提示符号
- 菜单命令消息路由过程分析
- MFC命令消息的路由
- MFC菜单命令更新机制
- MFC消息映射和命令路由
- MFC 启动行命令获取方式
- MFC学习点滴二:MFC中的菜单路由
- [MFC]Shapes程序(3):响应菜单命令、菜单项的跟新
- MFC中框架文档视图结构的命令路由处理
- 菜单命令的路由
- MFC学习笔记.day03-菜单,图形标记菜单创建,菜单栏禁用,命令响应,右键弹出菜单,添加菜单
- MFC文档视图(三):命令消息路由
- MFC文档视图(三):命令消息路由