更新工具栏按钮状态MFC

问题描述:

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

我用来更新菜单项的状态,并根据ON_UPDATE_COMMAND_UI中的一些检查启用/禁用,当我点击菜单。但对于工具栏,我没有得到这些调用来更新它的状态,如果它应该被启用/禁用。

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

这样做有一些选择吗?

感谢

调用ON_UPDATE_COMMAND_UI当我点击工具栏上的按钮才到来。

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

我建议你直接禁用工具栏按钮改变状态的变量,使当/禁用菜单:

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

是不是很优雅,但它的作品!

+0

感谢您的回复! – dearvivekkumar 2012-07-08 15:01:19

+0

这对我来说也一样。即使在我的情况下,对话框模式没有,所以即使我不能使用KICKIDLE的东西,因为这是我第一次使用IDLE时间的事情。 此外,它是一个遗留代码,并且不只是一个变量的更新禁用/启用工具栏的按钮,但有很多检查。 – dearvivekkumar 2012-07-08 15:04:16