是否可以使用现有 API 修改 windows 功能区控件使其看起来更像 MS Word 2010 中的功能区

Can the windows ribbon control be modified to look more like the ribbon in MS Word 2010 using the existing APIs

我目前正在使用 C++ 和 WIN 开发桌面应用程序API。我想为应用程序的主要 window 使用功能区控件(就像在较新的办公应用程序中找到的那种)。我已成功创建 XML 文件、COM 接口,并且我还设法让功能区显示在应用程序 window.

功能区目前看起来像 MS Paint 中的功能区。 (抱歉,我无法 post 图片)。

我一直在尝试自定义功能区,使其看起来更像 MS Word 2010 中的功能区。

我试图准确的更改是:

1) 使应用程序的标题在标题栏中居中

2) 将标题栏 fade\merge 放入功能区(与 window 框架的边框相对,在标题栏和功能区之间画一条线)

3) 将 "customize quick access bar" 菜单移动到垂直分隔符的右侧。

4) 更改功能区最左侧的蓝色按钮,使其具有 字"File"在上面

我基本上没有成功,因为功能区似乎无法使用 Microsoft 公开的界面和 APIs 以这种方式自定义。

因此我的问题是:有没有一种方法可以使用现有的功能区创建上述效果 API,或者 MS Office 功能区是未记录的功能或什至可能是大量黑客攻击的结果(枚举window 处理并违反接口的边界)。

您将无法自定义 Windows 功能区框架使其在外观和行为上与 Office 功能区相似。甚至 Windows Ribbon for WinForms (.NET) or the Windows Ribbon Framework for Delphi 等包装项目也没有提供这样的功能。

Office Ribbon (introduced with Office 2007) and the Windows Ribbon Framework(在 Windows 7 中引入)是 Ribbon 概念的两个完全不同的实现。 Microsoft 提供了更多的 Ribbon 实现,请参阅 WPF Ribbons 和 MFC Ribbons,它们都提供不同的功能和不同的外观。

虽然 Windows 功能区框架和 WPF 功能区可以在您自己的桌面应用程序中很容易地使用,但您不能在 Office 应用程序之外使用本机 Office 功能区。如果您真的想在 C++ 桌面应用程序中拥有一个提供 Office 功能区外观的功能区栏,您要么必须编写自己的实现,要么使用第三方组件..