Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme bei DPI/Skalierung bei abgeleiteter Form-Klasse (https://www.delphipraxis.net/173142-probleme-bei-dpi-skalierung-bei-abgeleiteter-form-klasse.html)

wicht 8. Feb 2013 21:32

Probleme bei DPI/Skalierung bei abgeleiteter Form-Klasse
 
Guten Abend Forum.

Ich hätte da mal eine Frage. Und zwar bin ich gerade dabei, ein Programm für Umgebungen mit höheren DPI halbwegs benutzbar zu machen. Dafür, dass ich (gefühlt) oft Sachen zwischen "Lass es bleiben" und "Funktioniert nicht wirklich" im Netz gelesen habe, hat das alles gut geklappt - da wo es nicht klappt/geklappt hat war ich selber schuld dran.
Allerdings komme ich an einer Stelle nicht weiter. Ich habe eine Klasse TfrmWizardBase und eine Klasse TfrmWizard - TfrmWizardBase hat Controls und leitet von TForm ab, TfrmWizard beinhaltet ein paar "Schritte" des Wizards, einige Controls und leitet von TfrmWizardBase ab. Dieses Fenster wird teilweise skaliert: Controls, die ich in TfrmWizard eingefügt habe werden skaliert, Controls aus der Basis TfrmWizardBase allerdings nicht. Das sieht dann natürlich bescheiden aus. Beide Formulare haben alle Controls auf ParentFont=True und sind Scaled=True.

Hat jemand eine Idee? Ich würde mich sehr über Ratschläge freuen. Danke im Vorraus! :)

wicht 16. Feb 2013 22:14

AW: Probleme bei DPI/Skalierung bei abgeleiteter Form-Klasse
 
*Push* :oops:

wicht 18. Feb 2013 12:28

AW: Probleme bei DPI/Skalierung bei abgeleiteter Form-Klasse
 
So... ich habe das Problem nun händisch gelöst. Auf dem Formular, was als Basisklasse fungierte, wurden ja, wie gesagt, die Controls nicht angepasst. Weil ich sowieso mit einigen Panels und Align/Anchor gearbeitet habe, konnte ich dann per Hand die Control-Größen passig ausrichten. Das habe ich vorher auch probiert, nur auf falsche Art und Weise. Vielleicht ist es immer noch nicht richtig, aber das Resultat sieht gut aus.

Ich habe vorher probiert:
Code:
btnOkay.Height := MulDiv(btnOkay.Height, Screen.PixelsPerInch, 96);
Das war nicht so gut. Besser funktioniert es so:
Code:
btnOkay.Height := MulDiv(btnOkay.Height, btnOkay.Font.Size, 8);
Vielleicht hilft das hier ja irgendwem irgendwann...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz