Некоторые из моих клиентов хотят иметь возможность масштабировать мое приложение вручную (когда для Windows установлено значение 96 dpi), поэтому мне пришлось реализовать масштабирование. К сожалению, эти клиенты не могут пойти с настройкой Windows DPI на другое значение и позволить WIndows масштабировать мое приложение, потому что некоторые очень важные приложения, которые они используют, вообще не работают при разрешениях ‹> 96 DPI.
Мне удалось сделать мое приложение Delphi 10.1 достаточно хорошо масштабируемым даже на 200%, но чем выше становится коэффициент, тем больше некоторые пропорции становятся «не такими красивыми». Многие сторонние компоненты нуждаются в особой обработке для масштабирования, и даже в этом случае масштабирование не выполняется с точностью до 100%. Хотя приложения, масштабируемые окнами, выглядят немного размытыми при высоких разрешениях, все пропорции точны на 100%, и, по-моему, приложение выглядит намного более профессиональным.
Поэтому я спросил себя, можно ли создать параметр, который позволяет Windows выполнять масштабирование по умолчанию и масштабировать только самостоятельно, если клиент хочет масштабирование, отличное от текущего масштабирования Windows. Этот параметр размещен в манифесте исполняемого файла Windows, который читается при запуске приложения. Есть ли способ изменить его во время выполнения (ранний запуск приложения)? Создание двух исполняемых файлов с разными манифестами - определенно не лучшее решение.
Спасибо за любую помощь
<dpiAware>
? Если да, см. Примечания в SetProcessDpiAwareness. . - person Sertac Akyuz   schedule 19.11.2016