【问题标题】:Changing the icon of a button in ribbbon更改功能区中按钮的图标
【发布时间】:2016-07-17 16:16:29
【问题描述】:

我有一个基于 C++ 中的Extensible Application Markup Language (XAML) 设计的功能区应用程序。当我单击它时,我想更改一个按钮的图标。 如何更改图标? 我的应用程序不是MFC,我使用Windows API

【问题讨论】:

  • 我猜这就是你要找的文档:(msdn.microsoft.com/en-us/library/windows/desktop/…) 免责声明:我没有使用过这个API。我只是用谷歌搜索并环顾四周。
  • 嗯,正如我所写的,我没有使用过这个。但是,在文档层次结构中向上单击,然后向下单击,我最终到达 (msdn.microsoft.com/en-us/library/windows/desktop/…)。这里可以看到有IUICollectionChangedEvent接口用于更改事件,IUICommandHandler接口用于命令(点击和快捷键)事件。另见IUIEventingManager。我建议对访问文档进行培训。只是,为自己写一些任务,然后去做。

标签: c++ winapi ribbon windows-ribbon-framework


【解决方案1】:

您不能在单击时更改按钮的图标,至少不能以常规方式更改。 API 不支持这一点,我猜是因为 UI 功能区 UI 概念不打算出现这种行为(在打破“预期行为”之前,您可能需要三思而后行)。

无论如何,您可以通过加载引用相同 XML 定义的资源文件来强制执行这种行为(顺便说一下,XML,不是 XAML - 我们不在 WPF 世界中),唯一的例外是相关图标的源路径指的是不同的东西。

对此的相关 API 调用称为 IUIFramework::LoadUI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多