【转】MFC中使菜单变灰

MFC实战篇——添加鼠标右键响应菜单 文章目录一、新建MFC对话框项目二、添加菜单资源三、添加右键响应函数3.1 方法一:WM_CONTEXTMENU响应函数方法2:WM_RButtonDown响应函数四、添加菜单响应函数五、测试六、升级版 一、新建MFC对话框项目 二、添加菜单资源 添加一个主菜单和3个子菜单。 三个子菜单的ID分别为: 三、添加右键响应函数 3.1 方法一:WM_CONTEXTMENU响应函数 在类视图中为对话框添加消息WM_CONTEXTMENU的响应函数。 在响应函数中添加代码,加载指定的菜单: v 阅读详情

MFC中缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,菜单自动变成使能,只要关掉缺省值就可以了,把下面的代码加入你的程序
CMainFrm::CMainFrm //构造函数
{
// Other stuff
this->m_bAutoMenuEnable = false;
}  

然后在消息响应函数中添加如下代码:

CMenu* m_menu = GetMenu();
CMenu* submenu = m_menu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_GRAYED);

一、有UpdateCmdUI句柄时

在框架中添加菜单ID的ON_UPDATE_COMMAND_UI消息,在相应函数参数中会有“CCmdUI* pCmdUI”这个参数,添加如下代码:

pCmdUI->Enable(false);

MFC中在基于对话框的窗体中使用CFileDialog导致菜单栏变灰的解决方案 阅读详情

相关推荐

【MFC】【VS2019】添加菜单后在菜单上无法添加事件处理程序。菜单添加事件处理程序一直是灰的,点不了。

问题 最近学校的数据库实验用MFC+VS2019写小型数据库管理程序,自学MFC,按以下步骤添加菜单跳转窗口时遇到了菜单添加事件处理程序一直是灰的,点不了的问题。 MFC插入MENU菜单栏并点击菜单弹出新窗口 菜单添加事件处理程序(A)点击不了 解决方案 方法一 将菜单中的中文字符改成英文 点不了的情况下,我的菜单上显示的caption是汉字关于,将Caption换成About之后菜单添加事件处...

qq_41101762的博客 1万+

MFC如何使菜单项变成灰色

菜单设置好后,在代码添加菜单 CMenu m_SysMenu; m_SysMenu.LoadMenu(IDR_SYSMENU); SetMenu(&m_SysMenu); 使用EnableMenuItem即可设置菜单的样式,颜色,第一个参数是菜单项ID,第二个参数是样式。 无效(菜单项变为灰色) pPopMenu->EnableMenuItem(ID_MENU_SA...

琅嬛福地 3036

对话框程序菜单项可以禁用但不变灰问题的解决方法

1、问题描述 今天在做基于对话框的MFC程序时,根据条件禁用了某一菜单项: 测试发现该菜单项确实功能无效,但是没有变灰的效果。 2、解决方法 根据网上资料,对于视图文档类MFC程序,在主框架类CMainFrame的构造函数中把成员变量m_bAutoMenuEnable=FALSE就可以解决问题了。 但是基于对话框的MFC应用程序没有m_bAutoMenuEnable变量。

程序道 -Learning, Thinking and Coding <存储知识的金库> 1519

MFC VC中使菜单项变灰

  一、没有UpdateCmdUI句柄时MFC中缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,菜单自动变成使能,只要关掉缺省值就可以了,把下面的代码加入你的程序 CMainFrm::CMainFrm { // Other stuff this->m_bAutoMenuEnable = false; }  然后在消息响应函数中添加如下代码:CMenu*

ykx_yeer的专栏 1734

电磁仿真软件CST2020 下载链接及安装破·解教程笔记

众所周知,配环境是安装软件最头疼的事情。CST2020我调了一上午,网上现有的安装教程良莠不齐,很难有一篇文章能够全流程的讲述安装过程以及遇到的问题。正好今天我要给另一台电脑装软件,借此机会把安装过程记录下来,以供将来使用和他人借鉴。 首先提供下载地址: 百度网盘 链接:https://pan.baidu.com/s/1cDJZelufj-nliUfekMNpEA 提取码:8ihx 附: 根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软

weixin_42845306的博客 3万+

完整的申请邓白氏编码的流程(手把手教你申请邓白氏编码)

申请公司的苹果开发者账号和企业级的苹果开发者账号时,都会用到邓白氏编码,也就是我们申请苹果开发者账号时需要填写的D-U-N-S Number。     申请这个邓白氏编码是免费的,但是从像华夏邓白氏公司提交申请到可以申请苹果开发者账号来用这个9位的D-U-N-S Number,需要一段时间,我申请得到D-U-N-S Number,用了8个工作日(不算周末哦)

wxw2011014003的博客 9万+

MFC中使菜单栏按钮变灰

在Vs2005中,不需要设置this->m_bAutoMenuEnable = FALSE; 在MainFrame中加入公共属性调用的函数。内容如下: CMenu* mmenu = GetMenu(); CMenu* submenu = mmenu->GetSubMenu(0); submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_

heihaier520的专栏 1676

【智能机器人开发全流程:硬件选型、软件架构与ROS实战,打造高效机器人系统】

通过模块化设计与ROS框架的灵活扩展,可快速搭建适应不同场景的机器人系统。实际开发中需重点关注。

dally2的博客 6034

如何使菜单栏变灰 MFC

下面讲下如何在MFC中使菜单栏变灰:/**使菜单栏变灰的方法:**1.设定想要变灰的菜单ID为ID_32771*2.假如我想设定的功能是:在点击了一次该按钮后禁止按钮*3.在我给菜单栏中的该按钮添加的消息响应函数ON_COMMAND(ID_32771, &CintelligentjudgingView::On32771 ) 之后再加一个ON_UPDATE_COM

Rachel Zhang的专栏 8966

鸿蒙平板PC应用开发:在termux中安装ubuntu

打开AVNC点击右上角的设置图标,然后点击 输入 , 点击手势栏目中的 单指轻扫 ,选择滚动远程内容

DMZDAMS的博客 5197

维纳(Wiener)复原滤波器的三种推导形式及其在图像处理中的应用

本文深入解析了维纳(Wiener)复原滤波器的三种核心推导形式:卷积形式、矩阵向量形式和频域形式,并重点阐述了其基于线性最小均方误差(LMMSE)估计的核心思想。通过Python实战演示,展示了频域形式如何高效地在图像去模糊与噪声抑制之间取得平衡,是图像复原领域的经典且实用的工具。

net55的博客 577

MFC 使菜单项变灰

 一、没有UpdateCmdUI句柄时MFC中缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,菜单自动变成使能,只要关掉缺省值就可以了,把下面的代码加入你的程序 CMainFrm::CMainFrm { // Other stuff this->m_bAutoMenuEnable = false; }  然后在消息响应函数中添加如下代码

Codelife 4002

windchill安装搭建(保姆式)

保姆式搭建windchill 材料准备 Vmware工具,用来创建和打开虚拟机的工具 安装系统的镜像文件 数据库安装文件,这里是Oracle数据库 Windchill的安装包 Vmware工具,用来安装和打开虚拟机的软件 Windowsserver2008的镜像工具,用来安装虚拟机环境的系统,如果你有win2007或win2010的也可以,在做虚拟机时,需要先安装系统。 Oracle数据库安装包 Windchill11M030的安装包 (安装包如有需要可以私信邮箱发送) 虚拟机安装 安装虚拟机VMware

tr1294937662的博客 6216

VC开发,菜单为什么会变灰

调用了EnableMenuItem为什么变灰那不用说了,我说说为什么不调用也会变灰:        首先要知道,当你点现了一个有子菜单的菜单项时(比如菜单栏上的“文件”),系统会向拥有这个菜单的窗口发送一个WM_INITMENUPOPUP,下面是MFC对这个消息的默认处理:     void   CFrameWnd::OnInitMenuPopup(CMenu*   pMenu,   UIN

longweizhe的专栏 3663

基于PyTorch+Transformer实现谣言检测系统

本项目使用基于`PyTorch+Transformer`的谣言检测模型,将文本中的谣言事件进行连续向量化,通过一维卷积神经网络的学习训练来挖掘表示文本深层的特征,避免了特征构建的问题,并能发现那些不容易被人发现的特征,从而产生更好的效果。

优快云 精品推荐 6349

《大数据: Hive 交互命令和常用配置》

一、Hive 交互命令 1. 首先解决一个可能发生的问题 (log4 jar包冲突) 我这里解决方法就是删除一个,我删的是hive下的包 yexiang@hadoop1:<hive>$ hive SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/soft/apache-hive-2.3.7-bin/lib/log4j-slf4j-impl-2.6.2.ja.

yexiang优快云的专栏 287

CMFCPopupMenu的使用,以及子菜单按钮的激活与变灰

CMFCPopupMenu的使用,以及子菜单按钮的激活与变灰 1,定义鼠标左键响应函数 void CNetBroad3View::OnLButtonDown(CPoint point, int nUnitSn){ POINT ptScreen; ptScreen = point; ClientToScreen(&ptScreen); CMenu menuPo...

weixin_30362801的博客 1239

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

菜单项的禁用变灰解决方法

转自https://blog.youkuaiyun.com/u014053368/article/details/22904101对话框程序菜单项可以禁用但不变灰问题的解决方法1、问题描述今天在做基于对话框的MFC程序时,根据条件禁用了某一菜单项:测试发现该菜单项确实功能无效,但是没有变灰的效果。2、解决方法根据网上资料,对于视图文档类MFC程序,在主框架类CMainFrame的构造函数中把成员变量m_bAu...

MOLLY0511的博客 3023

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

MFC的SDI下控制菜单栏的置灰与恢复

在做一个项目,在程序初始化的时候,将系统的菜单栏的某几项置灰,当实现某处功能之后,再将这几个菜单项给恢复过来,没有弄过,总问别人似乎也不太好,只好自己动手了。baidu,google,msdn,三管齐下,试了两个小时之后,终于完成了这个功能,为了给后人铺路,特地在此记录。 1.首先是SDI模式,因此,系统生成的默认文件有TestView,TestDoc,MainFrm以及一个主类Test。

百里鹤的专栏 3306

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

MFC基于对话框上插入MENU菜单栏并点击菜单弹出新窗口

本文介绍了使用MFC创建基于对话框应用程序的步骤:1)通过向导创建对话框框架;2)添加菜单资源并加载到对话框;3)实现菜单按钮弹出新窗口功能。具体包括:创建MFC对话框项目、添加菜单栏、为菜单项设置事件处理程序、添加新对话框类,并通过DoModal()方法实现窗口弹出。教程配有详细截图,适合MFC初学者学习基础界面开发。

BackCatK Chen的博客 4万+
上一篇: 【转】VC限制窗口大小
下一篇: 【转】Windows Mobile 快捷方式的读取和创建
code09
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值