MFC中初始菜单栏如下:
当工程未新建,或者未打开时,后面的观测菜单设置为灰色,不可触发。
当新建工程或者打开工程后,菜单变回可触发状况。
观测菜单如下:
 
下面以轴力观测菜单为例
轴力初始测量菜单ID为ID_ZLFirst,

//设置所有的菜单为灰不可用
CMainFrame::CMainFrame()
{
 this->m_bAutoMenuEnable = false;

theApp.ProNew=false;
 theApp.ProOpen=false;
 theApp.Connect=false;

}

给初始观测菜单添加UPDATA_COMMAND_UI事件。

//判断轴力初始观测是否变灰

void CMainFrame::OnUpdateZlfirst(CCmdUI *pCmdUI)
{
 pCmdUI->Enable(false);
  if(theApp.ProNew==true || theApp.ProOpen==true )//新建或打开工程后,恢复可触发状态
  {
    pCmdUI->Enable(true);
  }
  else
  {
    pCmdUI->Enable(false);//未新建或打开工程时,变灰
  }
}

希望对大家会有所帮助!

 

VC中如何设置菜单项的触发状态?的更多相关文章

  1. 【转】win2008 中iis7设置404页面但返回状态200的问题解决办法

    今天根据SEO反馈,某个站点中设置的404页面返回的http状态为200.通过站长工具进行查询,发现返回的状态确实为200. 通过彻查问题,发现这个网站的服务器环境为windows2008 服务器为i ...

  2. MFC 单文档中动态添加菜单项和响应菜单事件

    新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_N ...

  3. VC++中LogFont设置字体(转)

    LOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格式,其定义如下:typedef struct tagLOGFONTA{LONG lfHeight;LONG lfWidth;LONG ...

  4. visio中相关设置-菜单视图

    1.获取或设置窗口中页面的当前显示大小(缩放系数) Window.Zoom Dim dZoom As Double dZoom = m_Visio.Window.Zoom'获取显示比例 m_Visio ...

  5. Java中如何设置表格处于不可编辑状态

    代码片段如下: 这样的话就可以将表格设置为不可编辑状态

  6. WPF:设置弹出子菜单的是否可用状态及效果

    需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBl ...

  7. Cocos2d-JS中的文本菜单

    文本菜单是菜单项只能显示文本,文本菜单类包括了cc.MenuItemLabel.cc.MenuItemFont和cc.MenuItemAtlasFont.cc.MenuItemLabel是个抽象类,具 ...

  8. 如何给MFC的菜单项添加快捷键

    我们一起分享,如何给MFC的菜单项添加快捷键.[程序在VC6.0编译环境下编译通过.(VS2010的编译环境大同小异)] 1.程序演示环境 1.1新建一个[对话框(Dialog)]的程序.然后,New ...

  9. 资源在windows编程中的应用----菜单

    资源在Windows编程中的应用 资源 加速键.位图.光标.对话框.菜单.字符串.工具条 1.菜单的创建 菜单由以下组成部分: (1)窗口主菜单条 (2)下拉式菜单框 (3)菜单项热键标识 (4)菜单 ...

随机推荐

  1. sql server 视图 的一个例子

    这是一个 有点复杂的查询.我现在 想把他封装 成 视图  其中  B.RecordID= 41 提供给 视图外查询. create view view_UserRecord as select Rec ...

  2. Socket 学习(三).1 tcp 通讯

    实现了,局域网客户端 对客户端 的通讯. 实际上这是 一个 客户端 兼 服务端 . 2个阿里云服务器测试 效果图: 本地效果图: using System; using System.Collecti ...

  3. VS2012编写C语言项目

    原文:VS2012编写C语言项目 这两天看了一下C语言方面的知识,大学的时候使用的Turbo C对于我来说已经是很久之前的事情了,编写C语言的还有VC++,不过这货在64的表现实现是很让人失望,还是用 ...

  4. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

  5. Pki原则

    核心提示: 公开密钥和公开密钥证明书,产生的私钥client要么server证书.加密的公共密钥才能解密私钥文件只.私钥只能解密公开的加密文件.公众认为,它是开放的.所有的人都能够得到它.私人还表明, ...

  6. 删除Python UserWarning[已解决]

    在使用MySQLdb包后,导入测试时发现一个警告. /usr/lib/python2.6/site-packages/setuptools-0.8-py2.6.egg/pkg_resources.py ...

  7. HDU4565 && 2013年长沙邀请赛A题

    部分转自http://blog.csdn.net/crazy______/article/details/9021169 #include<cstdio> using namespace ...

  8. 使用Oracle 9i工具管理数据库 - 初学者系列 - 学习者系列文章

    前面介绍了Oracle 9i的安装,本文大概介绍下Oracle 9i提供的管理工具的使用. 1 打开数据库配置工具 2 下一步 3 下一步 4 下一步.这里输入数据库名和SID 5 下一步 6 下一步 ...

  9. 华为JAVA(面试问题及答案节)

    华为JAVA面试题 (后记:我没想到华为面试题是不寻常,,至少对我这种鸟来说是这样.对我个人来说.看看这样的题.可能比看<Think In Java>都还要好.因为这里面有很多的东西,都是 ...

  10. 在SQL Server 2008中调用.net,dll

    原文:在SQL Server 2008中调用.net,dll T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQ ...