3

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

4

2 回答 2

2

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

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

于 2011-02-05T15:57:05.070 回答
1

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

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

这里有一条评论,大意是运行时的更改非常有限——这是关于第三方包装器的,请注意。

您只能在运行时将项目动态添加到画廊控件:

组合框、SplitButtonGallerty、DropDownGallery 和 InRibbonGallery

如果您知道要提前添加什么,您可以使用 ContextualTabs 和 ApplicationModes 来更改(预定义)选项卡和组的可见性。

不幸的是,您可以在运行时动态添加组。

请注意,这是 Windows 功能区框架中的限制,而不是包装库中的限制。

于 2010-11-01T15:12:42.250 回答