В настоящее время я работаю над настольным приложением, использующим C ++ и WINAPI. Я хочу использовать ленточный элемент управления для главного окна приложения (например, в новых офисных приложениях). Я успешно создал файл XML, интерфейсы COM, и мне также удалось заставить ленту отображаться в окне приложения.
В настоящее время лента выглядит как лента в MS Paint. (Извините, я не могу опубликовать изображения).
Я пытался настроить ленту так, чтобы она больше походила на ленту в MS Word 2010.
Изменения, которые я пытаюсь уточнить:
1) Центрирование заголовка приложения в строке заголовка
2) Получение строки заголовка для постепенного исчезновения \ слияния с лентой (применительно к границе рамки окна, рисуя линию между строкой заголовка и лентой)
3) Перемещение меню «настроить панель быстрого доступа» справа от вертикального разделителя.
4) Изменение синей кнопки в крайнем левом углу ленты, чтобы она имела
слово «файл» на нем
Я был в значительной степени неудачен, потому что лента, кажется, не настраивается таким образом, используя интерфейсы и API, выставленные Microsoft.
У меня такой вопрос: есть ли способ создать эффекты, упомянутые выше, с использованием существующего API ленты, или лента MS Office является результатом недокументированных функций или, возможно, даже большого взлома (перечисление оконных дескрипторов и нарушение границ интерфейса ).
Вы не сможете настроить Windows Ribbon Framework так, чтобы он выглядел и вел себя как лента Office. Даже проекты-обертки, такие как Лента Windows для WinForms (.NET) или Windows Ribbon Framework для Delphi предоставить такую функцию.
Офисная лента (введено в Office 2007) и Windows Ribbon Framework (представлен в Windows 7) — две совершенно разные реализации концепции ленты. Существует еще больше реализаций лент от Microsoft, см. Ленты WPF и ленты MFC, все из которых предоставляют различные функции и различный внешний вид.
Несмотря на то, что Windows Ribbon Framework и ленты WPF можно довольно легко использовать в вашем собственном настольном приложении, вы не можете использовать собственные ленты Office вне приложения Office. Если вы действительно хотите иметь панель ленты, которая обеспечивает внешний вид лент Office в вашем настольном приложении C ++, вам придется либо написать собственную реализацию, либо использовать сторонний компонент.