TForm.PixelsPerInch не действует в Delphi Rio 10.3.3 - PullRequest
1 голос
/ 17 февраля 2020

Как уже описано в Как PixelsPerInch работает в Delphi 10.3 Rio? и Form.PixelsPerInch больше не используется в Delphi Токио TForm.PixelsPerInch не действует в Delphi Рио (я использую Рио 10.3.3). Я могу изменить его значение (в среде IDE или путем редактирования файла dfm) на 96, 120, 144, ... но размер формы, размеры шрифта и т. Д. c. остаются неизменными (как во время разработки, так и во время выполнения). Form.Scaled это правда. Как включить правильное масштабирование форм в Delphi Rio, если число пикселей на дюйм отличается от 96, т. Е. Если Windows масштабирование отличается от 100%? Я переношу проект с более чем 50 формами из Delphi XE5 в Рио. Проект был разработан для XE5 со скоростью 120 пикселей на дюйм и имел правильные размеры шрифтов и форм, Form.Scaled - это True, Form.PixelsPerInch - 120, Form.Font - это «Segoe UI» при 11 pt (это идентично 9 pt на 96 пикселей на дюйм). При открытии проекта в Rio со скоростью 120 пикселей на дюйм все формы слишком велики, и используется шрифт «Segoe UI» размером около 14 пт, т. Е. Rio использует PixelsPerInch, равный 96 вместо 120 (что указано в файле dfm).

1 Ответ

0 голосов
/ 17 февраля 2020

Я не уверен, что эти шаги ответа действительно работают, так как это почти невозможно протестировать, учитывая мои текущие настройки системы. Но давайте попробуем:

  • настроить XE5 в среде с 96 dpi
  • открыть проект
  • открыть и сохранить все формы
  • открыть проект в системе Rio
  • скомпилировать, запустить и проверить, работает ли он сейчас

необязательно:

  • играть с настройками DPI в разделе «Манифест» параметров проекта
  • , если это окажется хуже, оставьте этот параметр равным
...