2012-02-21 48 views
0

我想升級我的MFC MDI應用程序以使用新的MFC功能包。在CMFCToolBar中禁用項目

我將CToolbar轉換爲CMFCToolBar。現在我試圖在特定條件下禁用工具欄中的一個項目。我收聽該項目的ID的ON_UPDATE_COMMAND_UI消息,並通過寫入以下內容禁用該項目:

pCmdUI-> Enable(FALSE);

只有在CView對象中處理了ON_UPDATE_COMMAND_UI消息,但是如果在CMFCToolbar派生類中處理了這個消息,它才能正常工作。

如果有辦法從工具欄類本身禁用項目?

回答

0

工具欄不是MFC中命令路由的一部分。所以它永遠不會得到命令和更新命令UI消息。您可以在此處看到命令路由的詳細信息:MFC Command Routing

您可以在其中一個獲取命令消息的對象中覆蓋OnCmdMsg()方法(如您可以在上面的鏈接中看到的)並將消息傳遞給工具欄。