vc2003/2005下,菜单始终无法变灰的问题

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

1、没有UpdateCmdUI句柄时

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);

 

2、有UpdateCmdUI句柄时

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

pCmdUI->Enable(false);

就可使这个菜单变灰显

 

------------------------------------------------------------------------------------

 

对话框程序,则需要重载ON_WM_INITMENUPOPUP

添加如下代码:

pPopupMenu->CheckMenuItem(ID_MENU_ELEMENT_SHOW,MF_CHECKED);

VC6项目维护指南:寻找与集成Windows XP/2003 Platform SDK 在软件开发和系统维护中,软件开发工具包(SDK)是连接应用程序与操作系统API的关键桥梁,它提供了编译所需的头文件和库文件。其核心原理在于确保编译器、SDK与目标运行环境三者间的ABI(应用程序二进制接口)兼容,包括数据结构内存布局、函数调用约定等严格匹配。对于使用Visual C++ 6.0(VC6)维护遗留项目的工程师而言,这一兼容性尤为重要。特定版本的Platform SDK,如Windows XP SP2和Windows Server 2003 R2(February 2003 Edition)SD 阅读详情

相关推荐

VC2005模仿VS2003界面与功能实现

在本章中,我们将探索如何模仿经典的Visual Studio 2003用户界面。Visual Studio 2003作为众多开发者的老朋友,其用户界面友好、直观,成为了许多开发者偏爱的IDE界面。我们将一步步展示如何通过现代开发工具和框架来复现这一经典界面,从而为现代开发环境带来复古但高效的用户体验。在开始使用Visual C++ 2005之前,首先需要进行安装和配置。安装过程通常涉及以下步骤:系统要求检查。

weixin_28771751的博客 463

MFC新添加的菜单项在没有任何处理时菜单项

MFC新添加的菜单项在没有任何处理时是呈色的,只有添加了COMMAND命令后才会不显示色。 在只添加ON_UPDATE_COMMAND_UI消息也还是色,在OnUpdateAddUser(CCmdUI *pCmdUI)函数中可以添加 pCmdUI->Enable(true);也可以去掉色 【注意】只是修改菜单项的属性 enable为true也是不可以的。消息区别: ON_UPDATE_COMMAND_UI: 是点击 菜单上的 主菜单时就会调用 红色框 系统管理 如果是界面处理,可以在此进行。【点击系

迪迦 • 奥特曼 1662

MFC VC中使菜单项

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

ykx_yeer的专栏 1733

MFC如何使菜单项

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

琅嬛福地 3027

MFC菜单问题

MFC菜单 方法1:有UpdateCmdUI句柄时 定义一个BOOL量m_b来标志菜单项是否有效, 该菜单项响应UPDATE_COMMAND_UI消息,在消息处理函数中pCmdUI->Enable(m_b); 以后你根据需要来设置m_b的值,就可以使菜单是否可用。 在一个函数中可以控制多个菜单 方法2:没有UpdateCmdUI句柄时 MFC中缺省的习惯是当没有Upda...

weixin_30307921的博客 1081

Windows 右键扩展菜单实现中遇到的问题

Windows 右键扩展菜单实现中遇到的问题   1. 右键扩展实现目标   实现效果如下:       对于文本文件点击右键,在右键菜单中出现“SimpleShlExt Text Item”菜单项。   2. 开发环境     Windows7  32位     VS2005      3. 教程与参考资料

xiaoqiangXX的专栏 1521

使用VC2005一些问题解决方案[转]

首先是我使用VC2005在不通阶段的不通感受:刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。开始用VC2005学习写东西

hndksztwj的专栏 1239

使用VC2005一些问题解决方案

首先是我使用VC2005在不通阶段的不通感受: 刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。 刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。 开始用VC2005学习写东西的时

痞子龙3D编程 2518

VC6.0与VS2005的一些差别

分类: 一、         VC 6.0 中的 MFC ClassWizard 从 Visual Studio 2005 开始已被分拆成两个功能: 1.     对控件和菜单建立事件映射的功能 菜单视图 (View)->Solution Explorer 或 Ctrl+W,S 中 Resource Files 树下,在资源视图(通过双击资源文件 *.rc 可进入该视图)选中某一个菜单或者

Tank_huenyifei的专栏 728

link 2005 错误

vc 2003下,如果使用了静态库,很有可能会发生link 2005的连接错误,主要是由于crt 库引起的,CRT 库对 new、delete 和 DllMain 函数使用弱外部链接,如果我们改一下库的连接顺序,就可以解决这个错误解决方案解决问题有两种方法:第一种解决方案涉及到强制链接程序按照正确的顺序链接库。第二种解决方案是让您查找导致问题的模块并纠正它。 解决方案一:强制链接程序按照正确

sssxueren的专栏 1625

vs2003升级到vs2005遇到的问题

1.无法识别的配置节 xhtmlConformance说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的配置节“xhtmlConformance”源错误: 行 68:       -->行 69: 行 70: 行 71: 行 72: 源文件: F:/web.config      行: 70 新装了vs2

黑不溜秋 白里透红 1668

使用VC2005一些问题解决方案(一)

首先是我使用VC2005在不通阶段的不通感受: 刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。。 刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。。虽然比较慢,但是不像VC6.0那样老是出现编译死机的情况。 开始用VC2005学习写东西的时...

weixin_33816946的博客 350

VC6和VS2005(及2010)的一些区别总结

最近在学习《VC++深入详解》,以前本科做课设之类用的都是VC6,现在用VS2005感觉到不少地方还是不同的,有幸看到这篇文章,解决我的不少疑惑,转载收藏,便于以后查阅 VC6.0与VS2005的一些差别 分类: 一、         VC 6.0 中的 MFC ClassWizard 从 Visual Studio 2005 开始已被分拆成两个功能: 1.     对控件和菜单建立

麦麦大数据 1915

VC实现XP风格控件效果

一个小窍门可以方便的在VC6、VC2003VC2005下实现XP风格的控件效果,而且风格随主题化而化,没有主题则显示为原来的风格,看效果对比图:原来的样式改后的样式很简单,此方法SDK/MFC通用,简单的讲就是插入一个资源,类别为24,ID为1,以VC6为例,2003和05类似。在VC6资源编辑试图下点击Insert(插入),然后选择Custom(自定义),在Resource

VxD 1282

WTL在VS 2005VC 6.0 中的配置

以下是VS2005安装步骤: 下载WTL80,自解压安装任何路径下,我是解压在"D:/WTL80"下的,为了方便安装。 拷贝"D:/WTL80/AppWiz/Files/WTLAppWiz.*"(WTLAppWiz.*指名称为WTLAppWiz的文件,即WTLAppWiz.ico、WTLAppWiz.vsdir、WTLAppWiz.vsz)至"D:/Program Files/Mi

小木匠盖大厦 1304

VC编译错误处理

VC编译错误处理 1. 使用VC2008调试时弹出没有找到mfc90ud.dll,因此这个应用程序未能启动.重新安装应用程序可能会修复此 方法: 项目属性->配置属性->链接器->调试->生成映射文件 选择 Yes (/MAP) 2. error C2471: 无法更新程序数据库“d:\Work\ Project\FBReader\debug\vc90.pdb” 解决方案:...

baiyun0451c的博客 1555
上一篇: CListCtrl使用技巧
下一篇: VC中MessageBox的常见用法
jianzhanger
博客等级 码龄22年 91粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值