更新工具栏按钮状态MFC

时间:2012-07-06 07:36:03

标签: visual-c++ mfc toolbar

我在MFC应用程序中有一个对话框,它有菜单栏。现在,我使用菜单栏中的相同命令ID在该对话框中创建了一个工具栏。

我用来更新菜单项的状态,并按照ON_UPDATE_COMMAND_UI中的某些签入启用/禁用,当我点击菜单时。但对于工具栏,我没有得到这些调用来更新它的状态,如果应该启用/禁用它。

此外,当测试失败时我没有任何通知,我要禁用该项目。

这样做有其他选择吗?

由于

只有当我点击工具栏按钮时才会调用ON_UPDATE_COMMAND_UI

1 个答案:

答案 0 :(得分:1)

在对话框中使用MFC会令人沮丧。

我建议您在将状态更改为启用/禁用菜单的变量时直接禁用工具栏按钮:

void CtestDlg::OnBnClickedButton_DisableSomeControls()
{
command_menu_1 = !command_menu_1;
m_ToolBar.GetToolBarCtrl().EnableButton(ID_COMMAND_TEST, command_menu_1);
}

不是很优雅,但它有效!