Изменение элемента управления ленты во время выполнения - PullRequest
3 голосов
/ 01 ноября 2010

Я использую Windows Ribbon Framework в неуправляемом приложении C ++ в Visual Studio.Можно ли добавить кнопку или другой элемент управления во время выполнения?Я могу настроить свою ленту, используя IUIFramework :: LoadUI, но потом не могу изменить ее.

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

Невозможно добавить или удалить кнопку во время выполнения, , но вы можете скрыть или показать Tab или Группа во время выполнения, используя Прикладные режимы и позволяют устанавливать любые текстовые кнопки и изображения во время выполнения.

Таким образом, вы можете объявлять и использовать многоцелевые кнопки, которые будут отображаться только при определенных Режим приложения установлен и содержит тексты и изображения, определенные во время выполнения.

1 голос
/ 01 ноября 2010

Вы можете переключать режимы во время выполнения в зависимости от того, что определено в разметке - подробности см. здесь :

После определения режимов в разметке, они могут быть легко включены или отключены в ответ на контекстные события. Как упоминалось ранее, лента приложения всегда запускаются в режим по умолчанию 0. После применения инициализирован и активен режим 0, набор активных режимов может быть изменен вызывая IUIFramework :: SetModes функция.

Здесь есть комментарий о том, что изменения во время выполнения весьма ограничены - это касается сторонней оболочки, примечание.

Вы можете динамически добавлять элементы в время выполнения только в галереях управления:

ComboBox, SplitButtonGallerty, DropDownGallery и InRibbonGallery

Если вы знаете, что вы хотите добавить из заранее вы можете использовать ContextualTabs и ApplicationModes для изменения видимость (предопределенных) вкладок и группы.

К сожалению, вы можете добавлять динамически группы во время выполнения.

Обратите внимание, что это ограничение в Windows Ribbon Framework, а не в библиотека-оболочка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...