MFC中让菜单按钮变灰 5

制作一个简单的记事本,用到撤销,剪贴等功能。以撤销为例子,现在问题是我刚打开时候,是没有内容可以撤销的,所以我想让菜单栏中的撤销按钮变灰,相当于加一个判断语句if(!m_... 制作一个简单的记事本,用到撤销,剪贴等功能。以撤销为例子,现在问题是我刚打开时候,是没有内容可以撤销的,所以我想让菜单栏中的撤销按钮变灰,相当于加一个判断语句if(!m_MyRichEdit.CanUndo()),接下来就不知道该怎么写了,而且这个语句是不是应该写在
BOOL CNotePadDlg::OnInitDialog()
{
}
里呢?
展开
 我来答
石榴玉露香凝2510
2013-11-23 · TA获得超过134个赞
知道答主
回答量:94
采纳率:0%
帮助的人:97.5万
展开全部
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)
zhtwei1988
2013-11-23
知道答主
回答量:47
采纳率:0%
帮助的人:20.9万
展开全部
给菜单栏撤销按钮设一个contro型变量m_menu,在OnInitDialog()函数中m_menu.disable,貌似是这样,忘记是不是disable了
追问
怎么给撤销键设contro变量
追答
在“类向导”(class wizard)中设
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式