Как стилизовать неклиентскую область в приложении Firemonkey FM2 в Delphi XE3
Ранее я задавал этот вопрос на таймфрейме Delphi XE2, и тогда ответ был довольнобезобразный хак.
Теперь Delphi XE3 поддерживает темы, не относящиеся к клиенту, согласно официальным примечаниям к выпуску. Как вы делаете это в Delphi XE3 в Firemonkey FM2?
Я считаю, что это должно быть что-то общее с книгой стилей, но я могуне могу понять это. Сама форма имеетEnableBorderStyling» свойство, которое я установил в true, и я думаю, что мне нужно загрузить стиль, который содержит некоторые данные, не относящиеся к теме клиента, но я не могу 'не могу найти стиль, который включает его.
Помощь не имеет ничего об этом предмете.
Update2 Ладноэто не сломано, этоПросто я неУ него нет стиля, который содержит этот элемент стиля (как говорит RRUZ).
procedure TForm1.FormShow(Sender: TObject);
begin
StyleBook := StyleBook1;
WindowBorder.UpdateStyle;
end;
Update3Файлы стилей, кажется, находятся в двух разных местах, что сбивает с толку:
C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\Redist\styles\Fmx
C:\Users\Public\Documents\RAD Studio\10.0\Styles
Обратите внимание, что я неВ любом месте не должно быть Luna.Style (стиля firemonkey), однако 5 секунд с помощью редактора стилей. (Откройте и сохраните как, и измените тип на .Style, и у меня был один!)
Update4: РРУЗЬответ работает, но в моей системе (Windows 8 RTM) не-клиентские стили нене выглядят правильно, у них есть белые углы вокруг областей нат полностью покрасить. Изменение размера окна заставляет его уйти, и яЯ уверен, что я смогу заставить WM_NCREPAINT или что-то еще, и заставить его уйти.