Информация об изменениях

Сообщение Re: CMFCToolBar button от 28.11.2014 16:28

Изменено 28.11.2014 16:40 AlexGin

Здравствуйте, Alex_st, Вы писали:

A_>день добрый всем!

A_>Возникла необходимость заменить в приложении CToolBar на CMFCToolBar вроде все более менее понятно кроме одного: подскажите как дезаблить / енаблить кнопки на этом тулбаре не используя ON_UPDATE_COMAND_UI перепробовал уже кучу танцев с разными бубнами, пока ничего не получается

1) В чем проблема применения ON_UPDATE_COMMAND_UI(..., ...)?
2) Что мешает вызвать CMFCToolBar::GetAllButtons(); — этот вызов заполнит коллекцию кнопок CObList — а в ней уже находить нужную кнопку (объект типа CMFCToolBarButton) и для нее вызывать EnableWindow(FALSE/TRUE)?
3) Возможно, есть еще какие-либо варианты решения данного вопроса.

P.S. Я нашел рекомендацию:
https://social.msdn.microsoft.com/Forums/en-US/a1eae56a-0c57-4011-b799-8dd57e6be99d/how-do-i-disablereenable-a-cmfctoolbarbutton-in-a-cmfctoolbar?forum=vcmfcatl — может она чем то поможет.

Вопрос — тулбар применяется как основной (в окне наследнике CFrameWndEx/CMDIFrameWndEx) или же в dockable-окне?
Re: CMFCToolBar button
Здравствуйте, Alex_st, Вы писали:

A_>день добрый всем!

A_>Возникла необходимость заменить в приложении CToolBar на CMFCToolBar вроде все более менее понятно кроме одного: подскажите как дезаблить / енаблить кнопки на этом тулбаре не используя ON_UPDATE_COMAND_UI перепробовал уже кучу танцев с разными бубнами, пока ничего не получается

1) В чем проблема применения ON_UPDATE_COMMAND_UI(..., ...)?
2) Что мешает вызвать CMFCToolBar::GetAllButtons(); — этот вызов заполнит коллекцию кнопок CObList — а в ней уже находить нужную кнопку (объект типа CMFCToolBarButton) и для нее вызывать EnableWindow(FALSE/TRUE)?
3) Возможно, есть еще какие-либо варианты решения данного вопроса.

P.S. Я нашел рекомендацию:
https://social.msdn.microsoft.com/Forums/en-US/a1eae56a-0c57-4011-b799-8dd57e6be99d/how-do-i-disablereenable-a-cmfctoolbarbutton-in-a-cmfctoolbar?forum=vcmfcatl — может она чем то поможет.

Вопрос — тулбар применяется как основной (в окне наследнике CFrameWndEx/CMDIFrameWndEx) или же в dockable-окне?

Если это основной тулбар, то, возможно, поможет вот такое решение:
http://www.codeproject.com/Questions/205114/disable-buttons-in-CMFCToolbar