MFC 如何让菜单返灰(不可点击状态)

MFC 如何让菜单返灰(不可点击状态)

大家好,又见面了,我是全栈君。

MFC中对于菜单栏的使用相信都已经是日常操作了,那么如何使得菜单栏下的小菜单项变成灰色,不可点击状态呢?

首先为页面(窗口)添加一个菜单栏先(菜单栏需要提前进行资源添加创建出来,并且获取菜单栏的ID号,在程序中进行加载)

CMenu m_Menu;
m_Menu.LoadMenu(IDR_MENU_SYSTEM);
SetMenu(&m_Menu);

其次获取菜单栏的子菜单项,对子菜单项进行操作

CMenu *sub_menu = m_Menu.GetSubMenu(0);  // 获取菜单栏下的第一个菜单项
// 获取子菜单项下ID号为:ID_32772的菜单子项,对该菜单子项进行变灰操作
sub_menu->EnableMenuItem(ID_32772, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);  

如何让变灰的菜单项重新变回正常可点击状态呢?

CMenu *sub_menu = m_Menu.GetSubMenu(0); 
sub_menu->EnableMenuItem(ID_32772, MF_BYCOMMAND | MF_ENABLED);

就这样子就能够实现菜单栏的各种骚操作了,还不快尝试一下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115094.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月7日 下午9:00
下一篇 2022年2月7日 下午9:00


相关推荐

  • c语言中 isalpha函数,C 库函数 – isalpha()函数

    c语言中 isalpha函数,C 库函数 – isalpha()函数isalpha 函数说明 isalpha 原型 externintisa intc isalpha 头文件 旧版本的编译器使用 isalpha 功能 判断字符是英文字母 isalpha 说明 判断字符是否为英文字母 若为英文字母 返回非 0 若不是字母 返回 0 1 判断是否是字母 include includevoidm void charc c getchar if isal

    2026年3月18日
    2
  • 百度网盘下载提速,推荐3种亲测有效的方法

    百度网盘下载提速,推荐3种亲测有效的方法凉透的下载工具自从PanDownload事件之后,陆续出了很多第三方的度盘不限速下载神器,但是最后都凉了,这些第三方下载神器,都是个人开发者,即便有盈利也承受不起巨大的风险。甚至有款下载神器,用爱发电!流程是这样的,1.用户提交下载链接,2.然后开发者先下载好资源(当然开发者开的是超级会员),3.最后下载完成后保存到阿里云,然后再发送给用户。当然最后还是凉凉了!比如PDown、Dupan、忆寻,最终还是都死掉了,很可惜!现在还有没有百度网盘加速下载的方法呢?这里从解决实际问题的角度上,给大家

    2022年4月28日
    60
  • centos7系统更新命令_centos 更新

    centos7系统更新命令_centos 更新1.查看网络IP ifconfig2.下载命令 wget+网址3.安装 yum-y install + 目标4.删除文件 sudo rm 文件所在目录/目标强制删除文件 rm -f删除目录 rm -rf5.复制一个文件到另一个文件夹sudo cp /文件夹/文件 /另一个文件夹6.对一些文件进行读写sudo vim 文件名7….

    2022年8月18日
    11
  • LitJson写入中文乱码问题

    LitJson写入中文乱码问题今天用 LitJson 写入数据出现乱码问题 原因是 LitJson 在写入的时候进行了转义字符 只支持 unicode 编码 所以出现了乱码 又因为 LitJson dll 无法修改低层 用 Regex Unescape 取消转义字符就 OK 了 1 未修改出现的结果 打印出来就是一堆转义后的字符串了 2 修改后的结果 这样在写入文本就没有问题了

    2026年1月28日
    1
  • 剑指 Offer 06. 从尾到头打印链表(链表)

    剑指 Offer 06. 从尾到头打印链表(链表)输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

    2022年8月8日
    11
  • smartselect是什么意思_Smart Connect

    smartselect是什么意思_Smart Connect一、什么是S.M.A.R.T.SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等硬盘运行了几千小时后,很多内在的物理参数都会发生变化某一参数超过报警阈值,则说明硬盘接近损坏此时硬盘依然在工作,如果用户不理睬这个报警继续

    2022年10月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号