Отключить элемент в CMFCToolBar - PullRequest
       19

Отключить элемент в CMFCToolBar

0 голосов
/ 21 февраля 2012

Я пытаюсь обновить приложение MFC MDI для использования нового пакета возможностей MFC.

Я преобразовал CToolbar в CMFCToolBar.Теперь я пытаюсь отключить один элемент на панели инструментов при определенных условиях.Я прослушал сообщение ON_UPDATE_COMMAND_UI идентификатора элемента и отключил элемент, написав следующее:

pCmdUI-> Enable (FALSE);

Это работает идеально, только если сообщение ON_UPDATE_COMMAND_UI было обработано вобъект CView, но не обработанный в производном классе CMFCToolbar.

Если есть способ отключить элемент из самого класса панели инструментов?

1 Ответ

0 голосов
/ 21 февраля 2012

Панель инструментов не является частью команды маршрутизации в MFC. Таким образом, он никогда не получит сообщения команды и обновления командного интерфейса. Вы можете подробно просмотреть маршрутизацию команд здесь: Маршрутизация команд MFC

Вы можете переписать метод OnCmdMsg () в одном из объектов, который получает командные сообщения (как вы можете видеть в приведенной выше ссылке), и передать сообщение на панель инструментов.

...