Per Monitor V2

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu VCL


Die Unterstützung von Per Monitor V2 umfasst dessen Deklaration in den IDE-Projektoptionen, damit die richtige Konfiguration für das Windows-Manifest festgelegt wird.

Wählen Sie Projekt > Optionen > Anwendung > Manifest, um die Option Per Monitor V2 zu aktivieren.

PerMonitorV2 Manifest.png

Im Kern der VCL-Bibliothek umfasst die Unterstützung für Per Monitor V2 Änderungen zentraler Klassen, vieler Steuerelemente (von der Plattform bereitgestellte und benutzerdefinierte) und zusätzliche Stilunterstützung.

Auf der obersten Ebene wurden in der Unit VCL.Classes von 10.3 die folgenden Änderungen vorgenommen, um dieses Feature zu unterstützen:

  • Die globale Funktion GetSystemMetricsForWindow kapselt einen Aufruf der neuen Funktion GetSystemMetricsForDPI, falls verfügbar, ansonsten der herkömmlichen Funktion GetSystemMetrics. Sie hat einen Handle-Parameter, der an die API übergeben wird. Wir empfehlen Ihnen, diese neue Funktion anstelle der herkömmlichen Funktion WinApi.GetSystemMetrics zu verwenden, wenn Sie Per Monitor V2 unterstützen möchten.
  • Die Methode TControl.GetSystemMetrics (nIndex: Integer) gibt den Wert der Systemmetriken für die Steuerelemente zurück, die die neue globale Funktion GetSystemMetricsForWindow aufrufen.
  • TControl.GetCurrentPPI gibt abhängig vom aktuellen Bildschirm die DPI für das Steuerelement zurück und TControl.CurrentPPI ist eine schreibgeschützte Eigenschaft, die dieser Funktion zugeordnet ist.

RAD Studio 10.3 enthält wichtige Updates der VCL und deren Stilunterstützung einschließlich der neuen Methode GetSystemMetricsForWindow. Dieses neue Microsoft DPI-Modell sollte von allen Komponentendesignern unterstützt werden. Diese Änderung kann sich auch auf Code in Formularen auswirken, jedoch in geringerem Umfang. Wenn Ihr Code oder der von Ihnen verwendete Komponentencode nicht für Per Monitor V2 aktiviert ist, sollten Sie diese Funktion in der Manifestdatei des Projekts deaktivieren.

Hinweis: Zur Unterstützung von Per Monitor V2 ist mindestens das Update (1703) von Windows 10 Creator erforderlich. Die neuen Methoden greifen auf das Standardverhalten und die API-Aufrufe in früheren Versionen von Windows 10 und früheren Versionen von Windows zurück (im Code wird eine spezielle Laufzeitprüfung ausgeführt).
Warnung: Per Monitor V2 (und viele andere High-DPI-Funktionen in Windows) unterstützen das Modell der untergeordneten MDI-Formulare nicht. Microsoft behebt keine für MDI gemeldeten Fehler mehr. Wir empfehlen die Migration zu einem anderen Mehrfenster-Modell (mehrere frei-platzierbare Fenster, angedockte Bereiche, Fenster mit Registerkarten usw.)