Einzelnen Beitrag anzeigen

THY4243

Registriert seit: 15. Dez 2012
Ort: München - Untermenzing
40 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Windows Scaling für komplette Applikation deaktivieren

  Alt 22. Nov 2021, 19:33
@361, Du schreibst, dass das Projekt eine eigene *.rc Datei verwendet.

Da lässt sich auch ein Manifest einbauen. Wenn Du möchtest, dass keine Skalierung stattfindet, dann sollte folgender Teil genügen (Die DPI Passage des Manifests aus der rc-Datei):
Code:
  // <!-- SetProcessDPIAware Function - xmlns:asmv3=\"urn:schemas-microsoft-com:asm.v3\" required in assembly -->
  " <asmv3:application xmlns=\"urn:schemas-microsoft-com:asm.v3\">\15\12",
  "   <asmv3:windowsSettings>\15\12",
  "     <dpiAware xmlns=\"http://schemas.microsoft.com/SMI/2005/WindowsSettings\">false</dpiAware>\15\12",
  "     <dpiAwareness xmlns=\"http://schemas.microsoft.com/SMI/2016/WindowsSettings\">unaware</dpiAwareness>\15\12",
  "     <gdiScaling xmlns=\"http://schemas.microsoft.com/SMI/2017/WindowsSettings\">false</gdiScaling>\15\12",
  "   </asmv3:windowsSettings>\15\12",
  " </asmv3:application>\15\12",
Bitte nicht über die führenden und abschließenden Anführungszeichen wundern. Diese sind erforderlich, wenn man zusätzlich zu den Versionsinfos auch das Manifest in einer selbst gepflegten Resourcedatei hat und der EMBA Resourcecompiler das umsetzen können soll.

Aber vielleicht ist eine Umstellung auf die Skalierung nicht so aufwändig. Dann natürlich ein anderes Manifest und evtl. hilft auch dieser Link mit der dort zu findenden Unit uStandardizeFonts: https://pastebin.com/dKpfnXLc
Der Aufruf jeweils in der Prozedur FormCreate mit "StandardizeFormFont(Self);" sollte klappen.
  Mit Zitat antworten Zitat