Какой у вас был опыт внедрения элемента управления в стиле ленты в унаследованные приложения MFC?
Я знаю, что он существует в новом пакете компонентов VC2008, но изменение компиляторов с VC2005 - это большое дело для нашей исходной базы и интеграции с нашей средой, Intel FORTRAN, ClearCase, многими третьими библиотеками.
Существует несколько различных коммерческих реализаций, большинство из которых сосредоточено на C# / VB .NET, и только несколько - для нативного C++ MFC.
Я прочитал все обычные обзоры, найденные Google, большинство из которых сейчас довольно старые, поэтому мне интересно здесь от людей, которые действительно сделали это, прошли через болевой барьер, выпустили устаревшее приложение с VC2005 и ленточным пользовательским интерфейсом.
В настоящее время мы используем очень старую версию Stingray Objective Toolkit для предоставления наших расширений MFC, таких как настраиваемые панели инструментов, закрепляемые окна и т. д.
Любой из них использовал Проф-УИС, по сравнению с другими коммерческими, его относительно дешевое неограниченное лицензирование разработчика составляет 10-ю часть стоимости других.
Доступны ли какие-либо бесплатные, с открытым исходным кодом или с лицензией L-GPL?





Мы используем Codejock. Это недешево, но, думаю, я пришел к выводу, что хорошие элементы управления обычно бывают такими :-). Они довольно отзывчивы в отделе техподдержки (хотя в последнее время у нас не было необходимости использовать это). Мы создаем целый набор инструментов, используя эти элементы управления, и у нас всегда было то, что нам было нужно, включая возможность создания ленты в стиле Office 2007.
В своих проектах я использую пакет функций MFC в Visual Studio 2008, который основан на коде из BCGSoft. Их BCGControlBar Library Professional Edition включает ленточный элемент управления и совместим с Visual Studio 2005.
Однако мне неизвестны какие-либо библиотеки управления лентой с открытым исходным кодом для C++.
Имейте в виду, что вам нужна лицензия от Microsoft, чтобы использовать ленточный элемент управления в вашем приложении. Они предоставляют его бесплатно, если вы не пишете программу, которая конкурирует с Word или другим программным обеспечением Office.
Взгляните на эту ссылку: Лицензирование пользовательского интерфейса Office.
Люди обычно недовольны Microsoft по этому поводу: Зло лицензии на ленту пользовательского интерфейса Office.
Мы внедрили ленту в наше приложение из-за необходимости иметь последний / самый яркий пользовательский интерфейс. Выглядит неплохо, но неудобно по сравнению с простой панелью инструментов!
Чтобы придерживаться лицензии Microsoft на использование ленты, вы должны придерживаться их рекомендаций о том, как ее следует использовать. Например .. только пользователь может изменять вкладки ленты, вы не можете делать это программно, кроме как при переключении на контекстную вкладку. Все эти ограничения означают, что лента применяется только к приложениям, которые определенно ориентированы на документы. Если ваше приложение не ориентировано на документы, не думайте, что вы можете просто вставить ленту, чтобы заменить систему, управляемую меню / панелью инструментов, не задумываясь о том, как все будет сочетаться.
Панели инструментов и закрепляемые окна Stingray, а также новые ленты / панели инструментов и закрепляемые окна в 2008 году несовместимы. Я обнаружил, что их нельзя смешивать и сочетать. Так что если вы хотите ленту из 2008 года, вам придется потерять стыковочные окна от ската (и наоборот).