Wie unterstützt man benutzerdefinierte Desktop DPI-Einstellungen in Delphi 7-Anwendungen?

8

Wir haben einige Legacy-Anwendungen, die in Delphi 7 geschrieben wurden. Wir hatten im Laufe der Jahre einige Anfragen, um benutzerdefinierte Desktop-DPI-Einstellungen in diesen Anwendungen zu unterstützen, aber wir waren in der Lage, die Kugel zu umgehen, bis sie es wussten. Nun, wir können nicht mehr.

Wenn Benutzer ihre Desktops auf 120dpi einstellen, "fallen" einige der Steuerelemente aus der Anwendung oder strecken sich über die sichtbaren Bereiche des Formulars hinaus, und zwar diejenigen, die am rechten Rand des übergeordneten Elements verankert sind.

Was kann ich tun, um dieses Problem OHNE Operation am offenen Herzen zu vermeiden?

    
Gerhard Wessels 16.09.2009, 11:18
quelle

1 Antwort

1

Wie Sie wahrscheinlich wissen, ist dies ein bekanntes Problem bei Delphi-Formularen und Interaktionen mit Systemschriftarten. Größen .

Das Standardverhalten eines Delphi-Formulars besteht darin, zu versuchen, die Desktop-Umgebung des (Laufzeit-) Benutzers zu berücksichtigen. Dies kann jedoch unbeabsichtigte und unerwünschte Nebenwirkungen haben, wie Sie gefunden haben.

Aber die Scaled-Eigenschaft (standardmäßig TRUE) kann auf FALSE gesetzt werden, um dies zu verhindern, aber ich empfehle Ihnen, diesen ersten Artikel zu lesen und auch die Informationen in diesem Artikel , um festzustellen, ob dies in Ihrem Fall die richtige Lösung ist.

Wenn Sie Glück haben, können Sie die Skalierung auf alle Ihre Formulare auf FALSCH setzen, um einen guten Weg dorthin zu finden, wenn nicht sogar ganz (was zwar mühsam sein kann, aber nicht eine Operation am offenen Herzen ist).

>     
Deltics 16.09.2009 11:27
quelle

Tags und Links