![]() |
Bildschirmskalierung ermitteln und setzen
Hallo,
weiss jemand wie man die Bildschirmskalierung ermittelt und ändert ( unter Delphi)? Gemeint ist: Eigenschaften von Anzeige-->Einstellungen-->Erweitert-->Allgemein--> Anzeige. 96 dpi ist der Defaultwert. Wenn aber jemand Andere wählt und z.B. 125% anwählt stimmt die ganze Geometrie der Delphi-Programme nicht mehr! Oder wenns schon aus Delphi heraus nicht auf einfachem Weg geht, gibts vielleicht eine Komponente die das kann? Für VB gibts das. Vielen Dank im Vorraus Rainer Unger |
Re: Bildschirmskalierung ermitteln und setzen
|
Re: Bildschirmskalierung ermitteln und setzen
Hallo,
vielen Dank für deinen Beitrag. Aber das hilft mir überhaupt nicht weiter. Die Funktion ScaleBy(3,4) die in dem Beitrag benutzt wird, wirkt sich nicht auf alle untergeordneten Objekte aus. Ausserdem müsste ich, wenn ich diese nutzen wollte ja wissen dass die Skalierung geändert wurde. Trotzdem vielen Dank Rainer Unger |
Re: Bildschirmskalierung ermitteln und setzen
hallo rainer ,
habe was gefunden:
Delphi-Quellcode:
dann in der implementation:
private// im Interface
FAnpassen :Boolean ; Ffont : integer; procedure PasseAn;
Delphi-Quellcode:
funktioniert prima
procedure Tfrm_Main.FormCreate(Sender: TObject);
begin FAnpassen := true; FFont := 96; Scaled := true; end; procedure Tfrm_Main.FormShow(Sender: TObject); begin PasseAn; end; procedure Tfrm_Main.PasseAn; begin if FAnpassen then begin PixelsPerInch := Screen.PixelsPerInch; If PixelsPerInch <> FFont then begin width := LongInt(Width * PixelsPerInch) div FFont; height:= Longint(height* PixelsPerInch) div FFont; end; FAnpassen := false; end; end; raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz