现在的位置: 首页 > 综合 > 正文

[罗振辉]MFC中菜单命令路由方式

2013年08月13日 ⁄ 综合 ⁄ 共 755字 ⁄ 字号 评论关闭

       昨天在研究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!"));

       }

抱歉!评论已关闭.