什么是最好的 Ribbon UI 控件,可以重新适应使用 VC2005 构建的传统 MFC 应用程序?

Posted

技术标签:

【中文标题】什么是最好的 Ribbon UI 控件,可以重新适应使用 VC2005 构建的传统 MFC 应用程序?【英文标题】:Whats the best Ribbon UI control to retro fit to a legacy MFC application build with VC2005? 【发布时间】:2010-09-11 14:30:48 【问题描述】:

您在将 Ribbon 样式控件引入旧版 MFC 应用程序方面有什么经验?

我知道它存在于新的 VC2008 功能包中,但是从 VC2005 更改编译器对于我们的源库和与我们的环境、英特尔 FORTRAN、ClearCase 以及许多第三库的集成来说是一件大事。

有一些不同的商业实现,大多数专注于 C#/VB .NET,只有少数用于原生 C++ MFC。

我已经阅读了谷歌找到的所有常见评论,现在大多数评论都已经过时了,所以我对那些实际做过的人感兴趣,经历过痛苦的障碍,发布了一个带有 VC2005 和功能区 UI 的遗留应用程序。

我们目前使用非常旧版本的 Stingray Objective Toolkit 来提供我们的 MFC 扩展,例如可自定义的工具栏和停靠窗口等。


任何人都使用过Prof-UIS,与其他商业版本相比,它相对便宜、无限制的开发者许可成本是其他人的十分之一。

是否有任何免费的、开源的或 L-GPL 可用的?

【问题讨论】:

Stingray 工具栏和停靠窗口与 2008 中的新功能区/工具栏和停靠窗口不兼容。我发现你不能混合和匹配它们。因此,如果您想从 2008 年开始使用功能区,您将不得不失去黄貂鱼的停靠窗口(反之亦然)。 【参考方案1】:

在我的项目中,我使用 Visual Studio 2008 中的 MFC 功能包,它基于来自 BCGSoft 的代码。他们的 BCGControlBar Library 专业版包括一个功能区控件,并且与 Visual Studio 2005 兼容。

不过,我不知道有任何用于 C++ 的开源功能区控件库。

【讨论】:

【参考方案2】:

我们使用Codejock。它并不便宜,但我想我发现好的控件通常是:-)。他们在技术支持部门反应迅速(尽管我们最近不需要使用它)。我们正在使用这些控件构建一整套工具,并且始终拥有我们需要的功能,包括构建 Office 2007 风格功能区​​的能力。

【讨论】:

【参考方案3】:

请注意,您需要获得 Microsoft 的许可才能在您的应用程序中使用功能区控件。只要您不编写与 Word 或其他 Office 软件竞争的软件,他们就会免费提供。

看看这个链接:Office UI Licensing。

人们通常对此不满意微软:The evil of the Office UI ribbon license。

【讨论】:

【参考方案4】:

由于需要拥有最新/最炫的 UI,我们在应用中实现了功能区。看起来不错,但与使用普通工具栏相比,可用性并不好!

要遵守 Microsoft 使用功能区的许可,您必须遵守他们关于如何使用功能区的指导方针。例如..只有用户可以更改功能区选项卡,除非切换到上下文选项卡,否则您不能以编程方式进行操作。所有这些限制意味着功能区仅适用于绝对以文档为中心的应用程序。如果您的应用程序不是以文档为中心的,请不要认为您可以简单地插入一个功能区来替换菜单/工具栏驱动的系统,而不考虑如何将所有内容组合在一起。

【讨论】:

以上是关于什么是最好的 Ribbon UI 控件,可以重新适应使用 VC2005 构建的传统 MFC 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Qt实现Ribbon效果

网络适​​配器 NUMA

WPF中Ribbon控件的使用

VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)

(转载)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)

C#Winform怎么弄这种效果的UI?