运行时修改功能区控件

3

我正在使用Visual Studio中的非托管C++应用程序中的Windows Ribbon Framework。是否可以在运行时添加按钮或其他控件?我可以使用IUIFramework::LoadUI设置我的功能区,但无法在之后修改。

2个回答

2

无法在运行时添加或删除按钮,但是您可以使用应用程序模式在运行时隐藏或显示选项卡并且您可以在运行时设置任何按钮文本和图像。

因此,您可以声明并使用多用途按钮,仅在设置特定应用程序模式时显示,并包含运行时定义的文本和图像。


1

您可以根据标记中定义的内容在运行时切换模式 - 有关详细信息,请参见此处

在标记中定义模式后,可以根据上下文事件轻松启用或禁用它们。如前所述,Ribbon应用程序始终从默认模式0开始。应用程序初始化并激活模式0后,可以通过调用IUIFramework :: SetModes函数来更改活动模式集。

这里有一条注释说明,指出运行时更改相当有限 - 这是关于第三方包装器的注意事项。

您可以在运行时仅向ComboBox、SplitButtonGallerty、DropDownGallery和InRibbonGallery控件动态添加项。
如果您事先知道要添加什么,可以使用ContextualTabs和ApplicationModes更改(预定义)选项卡和组的可见性。
不幸的是,您不能在运行时动态添加组。
请注意,这是Windows Ribbon Framework中的限制,而不是包装库的限制。

那个解决方案对我不起作用,因为我需要在运行时进行修改,而且事先不知道会添加哪些控件。 - sw.
@sw - 理解了 - 根据最新的MSDN文档,运行时修改似乎受到了限制。抱歉... - Steve Townsend

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接