菜单命令更新

转载 2017年01月03日 16:13:40

菜单命令更新:

消息:CN_UPDATE_COMMAND_UI

相关类:CCmdUI

功能:决定菜单项是否有用,或者有标记;

 

注意:更新命令UI处理程序仅应用于弹出式菜单项上的项目,不能应用于永久显示的顶级菜单项目。

 

通过ClassWizard来增加其响应函数:

void CMainFrame::OnUpdateEditCut(CCmdUI* pCmdUI)

{

      // TODO: Add your command update UI handler code here

      pCmdUI->Enable();

}

注意:同时工具栏上剪切的图标也可以使用了;

因为工具栏的图标和菜单项响应的菜单ID是一样的;

 

下面我们用这种方法使新建子菜单项变灰:

同样对新建增加update响应函数:

void CMainFrame::OnUpdateFileNew(CCmdUI* pCmdUI)

{

     // TODO: Add your command update UI handler code here

     if(ID_FILE_NEW==pCmdUI->m_nID)

          pCmdUI->Enable(FALSE);

}

 

用索引号对剪切命令点亮:(则对工具栏图标无效)

void CMainFrame::OnUpdateEditCut(CCmdUI* pCmdUI)

{

     // TODO: Add your command update UI handler code here

     if(2==pCmdUI->m_nIndex)

     pCmdUI->Enable();

}

原因:子菜单项和工具栏图标的索引号不一样;

 

MFC菜单命令更新机制

转自:点击打开链接 对于每一个菜单项,有两个响应函数UPDATE_COMMAND_UI  和 COMMAND : UPDATE_COMMAND_UI             ...
  • CTO_51
  • CTO_51
  • 2013年05月01日 10:23
  • 2101

菜单命令更新机制

本文主要了介绍了MFC菜单命令更新机制和CMenu的使用对比。

基于对话框程序设计无法响应菜单更新命令的解决办法

对话框程序默认不处理菜单资源的更新命令,即CXXXDlg::OnUpdateXXX(CCmdUI *pCmdUI)里面调用pCmdUI->SetCheck()无效. 解决方案:   重载WM_INIT...

对话框命令更新怎样先于对话框显示菜单项

在消息映射中添加ON_WM_INITMENUPOPUP 项: BEGIN_MESSAGE_MAP(CTestDlg, CDialog) //{{AFX_MSG_MAP(CTestDlg) ...
  • dege169
  • dege169
  • 2011年12月18日 12:45
  • 163

VC++菜单命令响应函数

  • 2013年12月29日 16:51
  • 2.18MB
  • 下载

汇编设计命令菜单

  • 2012年12月14日 21:14
  • 3KB
  • 下载

删除.java文件中所有未用到的引用的包的菜单命令或快捷键是什么?

删除.java文件中所有未用到的引用的包的菜单命令或快捷键是什么? H5 App 开发用 WeX5,体验极速秒开! »     比如这几句...

proteus元件的中英对译及菜单命令简述

AND 与门 ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟 BVC 同轴电缆接插件 BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:菜单命令更新
举报原因:
原因补充:

(最多只允许输入30个字)