Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Fenster an unterschiedliche Monitorgrößen anpassen


heinrich - Do 10.05.12 20:06

Hallo Delphi-Anwender,

ich kann nun, dank eurer Hilfe unter Window 7 auf meine Delphi-Dateien zugreifen.
Hat von euch einer eine Idee, wie ich die Fenster an unterschiedliche Monitorgrößen anpassen kann? Ich habe aus einem Buch vor Jahren eine Routine zur Anpassung unterschiedlicher Monitorgrößen in meine Fenster übernommen, aber diese funktioniert nicht richtig.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure Tabr2men1.FormCreate(Sender: TObject);
var
 OldFormWidth: integer;
begin
  Scaled:=true;
  if (Screen.Width <> ScreenHeight) then
  begin
    OldFormWidth:=Width;
    Height:=Longint(Height)*Longint(Screen.Height) div ScreenHeight;
    Width :=LOngint(Width) *Longint(Screen.Width) div ScreenWidth;
    ScaleBy(Screen.Width, ScreenWidth);
    Font.Size:=(Width div OldFormWidth)*Font.Size;
  end;


Mit freundlichen Grüßen
Heinrich

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt


jaenicke - Do 10.05.12 21:36

Zur Anpassung würde ich eher Anchors und Align benutzen, denn durch die Skalierung sehen normale Windows-Oberflächen eher komisch aus.

Zudem:
Was verstehst du unter "funktioniert nicht richtig"?