Windows Ribbon Framework для Delphi и пользовательских стилей

Я только начал экспериментировать с Windows Ribbon Framework для Delphi, что, кстати, здорово, но я заметил белую полосу в верхней части клиентской области моей формы, если я активирую пользовательский стиль, предоставляемый Delphi (Параметры проекта> Приложение> Внешний вид), например Cyan Dusk: Лента и собственный стиль

Белая полоса не появляется, если не применяется пользовательский стиль. Я заметил такое же поведение при использовании DevExpress Skins.

Это проблема с фреймворком? Я использую Delphi XE4.

Спасибо.


person Joe Costanzo    schedule 15.03.2017    source источник
comment
Стили реализованы не очень хорошо, хуже в старых версиях.   -  person David Heffernan    schedule 16.03.2017
comment
@RRUZ - гуру стилей. Некоторые из его исправлений и расширений можно найти здесь: vcl-styles-utils.   -  person LU RD    schedule 16.03.2017
comment
Суть проблемы в том, что стили VCL применяют стили только к элементам управления, которые явно предназначены для стилизации. Обычно это все элементы управления, которые поставляются с Delphi заранее. Однако это не обязательно относится к сторонним элементам управления. Некоторые сторонние библиотеки могут использовать стили, но ленты не имеют эксклюзивного стиля. Как уже упоминалось, vcl-styles-utils может иметь исправление для лент.   -  person Jerry Dodge    schedule 16.03.2017
comment
Вы также должны знать об этом: блог .marcocantu.com / blog / 2016-may-tape-controls.html   -  person Jerry Dodge    schedule 16.03.2017


Ответы (1)


Стили VCL не поддерживают Windows Ribbon Framework или любой интерфейс ленты. Однако технически возможно использовать стили VCL и пользовательский интерфейс ленты в одном приложении, но для этого необходимо отключить стили в форме (и элементах управления), в которой используется пользовательский интерфейс ленты.

person RRUZ    schedule 15.03.2017
comment
Что касается XE6, VCL Tribbon довольно хорошо работает со стилями VCL, я использую их вместе уже довольно много лет. - person Vancalar; 16.03.2017
comment
В XE6 была улучшена совместимость TRibbon со стилями VCL, но также требуется, чтобы вы играли со свойством StyleElements для отключения стиля в некоторых элементах управления. - person RRUZ; 16.03.2017
comment
Я просто поигрался со свойством StyleElements формы, содержащей ленту, и, похоже, это именно значение seBorder входит в conflit. Это может быть хорошим обходным путем для меня, поскольку я смогу отключить его для основной формы, которая будет содержать меню ленты и включить стиль для всех других форм моего приложения. Спасибо! - person Joe Costanzo; 16.03.2017