求助:对于 屏蔽 右键弹出菜单 中某命令

pipihj 2006-05-18 02:41:01
对于屏蔽右键弹出菜单中某命令我有些疑问想请教。

void CDrawCoinView::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu menuPopup;
CDrawCoinDoc *pDoc=GetDocument();
if (menuPopup.CreatePopupMenu())
{ menuPopup.AppendMenu(MF_STRING,ID_COIN_ADD,"增加硬币\t CTRL+A");
menuPopup.AppendMenu(MF_STRING,ID_COIN_SUB,"减少硬币\t CTRL+B");
menuPopup.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this); } ASSERT_VALID(pDoc); if(pDoc->m_nCoins<1) menuPopup.EnableMenuItem (ID_COIN_SUB,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED); menuPopup.EnableMenuItem (ID_COIN_ADD,MF_BYCOMMAND|MF_ENABLED); }

这是实现点击右键弹出菜单增加或减少硬币。但是,当没有硬币(m_nCoins<1,m_nCoins为硬币的总数)时,我想让菜单“减少硬币(ID_COIN_SUB)”不可用。我已经在CMainFrame中定义公共变量BOOL m_bAutoMenuEnable;并且在构造函数让其为FALSE。但是弹出式菜单2个菜单项依然可用。。。请问我遗漏了某些细节么。。
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
swimmingfish2004 2006-05-18
  • 打赏
  • 举报
回复
写错了 是menuPopup.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);放到EnableMenuItem之后去
swimmingfish2004 2006-05-18
  • 打赏
  • 举报
回复
menuPopup.AppendMenu(MF_STRING,ID_COIN_ADD,"增加硬币\t CTRL+A");
放到EnableMenuItem之后执行
cpio 2006-05-18
  • 打赏
  • 举报
回复
菜单有这个东西:ON_UPDATE_COMMAND_UI

通过菜单的类向导可以添加,在里面设置菜单状态
考虑碳交易机制的园区综合能源系统电热协同运行优化研究(Matlab代码实现)内容概要:本文围绕考虑碳交易机制的园区综合能源系统电热协同运行优化展开研究,旨在通过构建优化模型提升系统运行的经济性与低碳性。研究以园区内的电、热等多种能源形式为对象,结合碳交易政策,建立了电热协同优化调度模型,并采用Matlab进行仿真求解,分析不同情景下系统的运行成本与碳排放变化。通过引入碳交易机制,量化碳排放权的经济价值,推动能源系统的清洁化运行,同时兼顾用户用能需求与能源供给效率,实现环境效益与经济效益的统一。; 适合人群:具备一定电力系统、能源系统或运筹优化背景,从事相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于园区级综合能源系统的规划设计与运行管理,优化电热联合调度策略;②为实施碳交易政策下的能源系统低碳转型提供决策支持与仿真工具;③支撑学术研究对多能协同、碳排放建模与优化算法集成的学习与复现。; 阅读建议:建议结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数碳交易成本项的设置及约束条件的处理方式,同时可对比无碳交易情景进行敏感性分析,以全面掌握碳政策对系统运行的影响机制。

15,977

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧