AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Bildschirmskalierung ermitteln und setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Bildschirmskalierung ermitteln und setzen

Ein Thema von runger · begonnen am 12. Mai 2004 · letzter Beitrag vom 14. Mai 2004
Antwort Antwort
runger
(Gast)

n/a Beiträge
 
#1

Bildschirmskalierung ermitteln und setzen

  Alt 12. Mai 2004, 11:13
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
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Bildschirmskalierung ermitteln und setzen

  Alt 12. Mai 2004, 11:27
hallo rainer,

meinst du so etwas
http://www.delphipraxis.net/internal...ght=formcreate

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#3

Re: Bildschirmskalierung ermitteln und setzen

  Alt 12. Mai 2004, 13:00
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
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Bildschirmskalierung ermitteln und setzen

  Alt 14. Mai 2004, 20:13
hallo rainer ,

habe was gefunden:
Delphi-Quellcode:
private// im Interface
    FAnpassen :Boolean ;
    Ffont : integer;
    procedure PasseAn;
dann in der implementation:
Delphi-Quellcode:
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;
funktioniert prima

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 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