Какой элемент управления пользовательского интерфейса ленты лучше всего подходит для устаревшей сборки приложения MFC с VC2005?

Какой у вас был опыт внедрения элемента управления в стиле ленты в унаследованные приложения MFC?

Я знаю, что он существует в новом пакете компонентов VC2008, но изменение компиляторов с VC2005 - это большое дело для нашей исходной базы и интеграции с нашей средой, Intel FORTRAN, ClearCase, многими третьими библиотеками.

Существует несколько различных коммерческих реализаций, большинство из которых сосредоточено на C# / VB .NET, и только несколько - для нативного C++ MFC.

Я прочитал все обычные обзоры, найденные Google, большинство из которых сейчас довольно старые, поэтому мне интересно здесь от людей, которые действительно сделали это, прошли через болевой барьер, выпустили устаревшее приложение с VC2005 и ленточным пользовательским интерфейсом.

В настоящее время мы используем очень старую версию Stingray Objective Toolkit для предоставления наших расширений MFC, таких как настраиваемые панели инструментов, закрепляемые окна и т. д.


Любой из них использовал Проф-УИС, по сравнению с другими коммерческими, его относительно дешевое неограниченное лицензирование разработчика составляет 10-ю часть стоимости других.

Доступны ли какие-либо бесплатные, с открытым исходным кодом или с лицензией L-GPL?

Панели инструментов и закрепляемые окна Stingray, а также новые ленты / панели инструментов и закрепляемые окна в 2008 году несовместимы. Я обнаружил, что их нельзя смешивать и сочетать. Так что если вы хотите ленту из 2008 года, вам придется потерять стыковочные окна от ската (и наоборот).

Aardvark 26.09.2008 00:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
1
2 764
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Мы используем Codejock. Это недешево, но, думаю, я пришел к выводу, что хорошие элементы управления обычно бывают такими :-). Они довольно отзывчивы в отделе техподдержки (хотя в последнее время у нас не было необходимости использовать это). Мы создаем целый набор инструментов, используя эти элементы управления, и у нас всегда было то, что нам было нужно, включая возможность создания ленты в стиле Office 2007.

Ответ принят как подходящий

В своих проектах я использую пакет функций MFC в Visual Studio 2008, который основан на коде из BCGSoft. Их BCGControlBar Library Professional Edition включает ленточный элемент управления и совместим с Visual Studio 2005.

Однако мне неизвестны какие-либо библиотеки управления лентой с открытым исходным кодом для C++.

Имейте в виду, что вам нужна лицензия от Microsoft, чтобы использовать ленточный элемент управления в вашем приложении. Они предоставляют его бесплатно, если вы не пишете программу, которая конкурирует с Word или другим программным обеспечением Office.

Взгляните на эту ссылку: Лицензирование пользовательского интерфейса Office.

Люди обычно недовольны Microsoft по этому поводу: Зло лицензии на ленту пользовательского интерфейса Office.

Мы внедрили ленту в наше приложение из-за необходимости иметь последний / самый яркий пользовательский интерфейс. Выглядит неплохо, но неудобно по сравнению с простой панелью инструментов!

Чтобы придерживаться лицензии Microsoft на использование ленты, вы должны придерживаться их рекомендаций о том, как ее следует использовать. Например .. только пользователь может изменять вкладки ленты, вы не можете делать это программно, кроме как при переключении на контекстную вкладку. Все эти ограничения означают, что лента применяется только к приложениям, которые определенно ориентированы на документы. Если ваше приложение не ориентировано на документы, не думайте, что вы можете просто вставить ленту, чтобы заменить систему, управляемую меню / панелью инструментов, не задумываясь о том, как все будет сочетаться.

Другие вопросы по теме