Я думал, что масштабирование приложения в FireMonkey должно быть простым, так как оно должно работать с Retina-Mac. Кажется, есть некоторая фоновая магия, которая выбирает другой стиль, чем, но это не похоже на Windows.Масштаб Delphi Firemonkey для высоких окон DPI
В VCL был TForm.Scaled, который выполняет эту работу (более или менее).
Для FireMonkey я нашел это Article by Embarcadero, но похоже, что Embarcadero не совсем уверен, полезен ли этот подход, как в XE5, образец проекта «ControlsDemo» больше не содержит шейдер масштаба. Это также требует наличия root-TLayout во всех формах, для которых может быть установлен масштабный коэффициент. У меня нет такого элемента в моих формах (и я боюсь добавить его, поскольку я не могу быть уверен, что я запускаю еще одну ошибку firemonkey, чем).
Как я могу объяснить различные настройки DPI с помощью FireMonkey?
Редактировать: Я пробовал взломать TPlatFormWin и установить CurrentScreenScale на 2, но он не работает: у меня есть черные панели инструментов, но нет масштабирования, но по крайней мере он использовал альтернативу HighRes из предоставленного TImage.MultiResBitmap.
Итак, у вас есть монитор с высоким разрешением на дюйм или вы пытаетесь имитировать на обычном 96-dpi дисплее? –
Оба ;-) У меня есть HighDPI Windows Tablet и имитирую на ПК с помощью настроек шрифта. –
Увы, но векторные стили, упомянутые в этой статье, были заменены растровыми в XE3 (или точнее: стили «платформы» теперь основаны на растровых изображениях). Таким образом, дисплеи «сетчатки» теперь поддерживаются путем включения * двух * наборов стилей растрового изображения Mac, а не независимости от независимого разрешения самого формата стиля. Тем не менее, если вы в порядке с пользовательским стилем, попробовали ли вы один из пользовательских стилей, поставляемых вместе с продуктом? Большинство из них по-прежнему основаны на ИЦП. –