2012-07-06 129 views
2

我在MFC應用程序中有一個對話框,它具有菜單欄。現在我使用菜單欄中的相同命令ID在該對話框中創建了一個工具欄。更新工具欄按鈕狀態MFC

我用來更新菜單項的狀態,並根據ON_UPDATE_COMMAND_UI中的一些檢查啓用/禁用,當我點擊菜單。但對於工具欄,我沒有得到這些調用來更新它的狀態,如果它應該被啓用/禁用。

此外,我沒有任何通知,當測試失敗,我禁用該項目。

這樣做有一些選擇嗎?

感謝

調用ON_UPDATE_COMMAND_UI當我點擊工具欄上的按鈕纔到來。

回答

1

在對話框中使用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