Для естественного внешнего вида, проверьте Windows Ribbon Framework для Delphi .
Это оболочка с открытым исходным кодом для Windows Ribbon Framework , доступная начиная с Windows 7 (и Vista после установки какого-либо официального обновления). Это API, используемый Windows 7 Word Pad.
Обратите внимание, что у вас есть два типа макетов: Office 2007 и Office 2010. Лента Delphi VCL реализует стиль Office 2007, тогда как Windows Seven WordPad использует стиль Office 2010.
В некоторых наших проектах для некоторых клиентов мы использовали Программные компоненты TMS Ribbon . Код немного слишком большой (много дубликатов или плохо написанных вещей, таких как постоянство компонентов), но он работает и хорошо воспроизводится, поддерживая стили ленты 2007 и 2010 годов. Для наших клиентов рендеринг был тем, что имело значение. Для нашей платформы с открытым исходным кодом мы опубликовали двойное решение для построения ленточного графического интерфейса пользователя , сгенерированного из кода: в нем будут использоваться либо стандартные компоненты VCL для базовой компоновки, либо компоненты TMS для полноценного Office 2007 / 2010 рендеринг. Мы только что определили некоторые классы, реализованные любой из библиотек. Если вы используете универсальные компоненты, как определено в SQLite3ToolBar (т.е. классы TSynForm, TSynToolBar, TSynToolButton, TSynPopupMenu, TSynPage, TSynPager, TSynBodyPager
и TSynBodyPage
) и SynTaskDialog (для TSynButton
) в вашем собственном коде, условное выражение USETMSPACK сделает всю магию за вас.
Мы еще не использовали компонент Ribbon, как это было представлено в Delphi 2009. Его дизайн, ориентированный на действия, не позволит легко взаимодействовать с управляемым событиями дизайном нашей обработки пользовательского интерфейса, и мы должны признать, что у этого компонента довольно плохая репутация (по крайней мере, в версии Delphi 2009).
Отличная Windows Ribbon Framework для Delphi не будет соответствовать нашей потребности в сгенерированной на лету ленте из кода. Его дизайн, от самой реализации Microsoft, заключается в создании пользовательского интерфейса из XML-ресурса, связанного при компиляции ... так что он не будет соответствовать нашим потребностям, но, вероятно, подойдет вам, для более "статического" дизайна пользовательского интерфейса приложения.
Если вы используете Office-ленту в своем приложении, обратите внимание на Лицензирование пользовательского интерфейса Office .