2016-07-17 6 views
0

У меня есть приложение для ленты, которое создано на основе Extensible Application Markup Language (XAML) в C++. Я хочу изменить значок одной кнопки, когда я нажимаю на нее. Как я могу изменить значок? Мое приложение не MFC, я использую Windows API.Изменение значка кнопки в ribbbon

+0

Я бы предположил, что это то, что вы ищете, ** **: (https://msdn.microsoft.com/en-us/library/windows/desktop/dd940490(v=vs. 85) .aspx) Отказ от ответственности: я не использовал этот API. Я просто искал ее и огляделся. –

+0

Умм, как я писал, я не использовал это. Но, щелкнув мой путь вверх, затем вниз, в иерархии документов, я оказался на (https://msdn.microsoft.com/en-us/library/windows/desktop/dd371356(v=vs.85).aspx). Здесь вы можете увидеть, что для событий изменений есть интерфейс «IUICollectionChangedEvent» и интерфейс «IUICommandHandler» для команд (щелчок и сочетание клавиш). Также см. «IUIEventingManager». Я предлагаю обучение по доступу к документации. Просто напишите некоторые задачи для себя и сделайте их. –

ответ

0

Вы не можете изменить значок кнопки при нажатии, по крайней мере, не в обычном режиме. API не поддерживает этого, я думаю, по той причине, что концепция пользовательского интерфейса UI Ribbon не предполагает такого поведения (и вы можете подумать дважды, прежде чем нарушить «предполагаемое поведение»).

Во всяком случае, вы могли бы заставить такое поведение путем загрузки файла ресурса, который ссылается на тот же определения XML (XML, кстати, НЕ XAML - мы не в WPF мире здесь), с единственным исключением являющийся исходным путем для соответствующего значка, относящегося к чему-то другому.

Соответствующий вызов API для этого называется IUIFramework::LoadUI.

Смежные вопросы