![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何让MFC对话框中的Menu菜单变灰或恢复
1个回答
展开全部
MFC中,菜单按钮的使能问题是在系统空闲时候处理的。
一个菜单项用于处理一个功能,功能处理问题和使能问题,写代码上基本相同:
假如一个菜单项的 ID 为 ID_COMMAND
功能处理:
在窗口的 h 文件中定义函数
afx_msg void OnGrapFenJie();
afx_msg void OnUpdateFenjie(CCmdUI * pCmdUI);
然后在窗口的 CPP 文件中实现代码:
void OnGrapFenJie()
{
菜单的功能代码
}
void OnUpdateFenjie(CCmdUI * pCmdUI);
{
pCmdUI->Enable(菜单可用 ? TRUE : FALSE);
}
最后 窗口 CPP 文件是 BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 之间加入代码,相应消息就可以了。
ON_COMMAND(ID_COMMAND, OnGrapFenJie)
ON_UPDATE_COMMAND_UI(IDID_COMMAND, OnUpdateFenjie)
一个菜单项用于处理一个功能,功能处理问题和使能问题,写代码上基本相同:
假如一个菜单项的 ID 为 ID_COMMAND
功能处理:
在窗口的 h 文件中定义函数
afx_msg void OnGrapFenJie();
afx_msg void OnUpdateFenjie(CCmdUI * pCmdUI);
然后在窗口的 CPP 文件中实现代码:
void OnGrapFenJie()
{
菜单的功能代码
}
void OnUpdateFenjie(CCmdUI * pCmdUI);
{
pCmdUI->Enable(菜单可用 ? TRUE : FALSE);
}
最后 窗口 CPP 文件是 BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 之间加入代码,相应消息就可以了。
ON_COMMAND(ID_COMMAND, OnGrapFenJie)
ON_UPDATE_COMMAND_UI(IDID_COMMAND, OnUpdateFenjie)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询