![]() |
Form auf dem Bildschirm richtig positionieren?
Hallo,
wie positioniere ich mein Programm richtig auf dem Bildschirm? Muss die rechte obere Ecke sein. Ich hab folgenden Code ausprobiert, aber irgendwie funkt das ganze nicht wenn man die Auflösung ändert.
Delphi-Quellcode:
:gruebel:
Form1.Left:=Screen.Width-400;
Form1.Top:=Screen.Height-900; |
Re: Form auf dem Bildschirm richtig positionieren?
schau dir mal die Eigenschaft .Position deiner Form an :zwinker:
[add] ansonsten, wie berechnet man selber die Mitte ..... Fenstermitte mit Bildschirmitte übereinander setzen > also Hälfte des Bildschirms minus Hälfte deiner Form war blöd |
Re: Form auf dem Bildschirm richtig positionieren?
[del]
|
Re: Form auf dem Bildschirm richtig positionieren?
Delphi-Quellcode:
Funktioniert bei mir - respektive einer Fensterbreite von 400 natürlich....
procedure TForm1.FormCreate(Sender: TObject);
begin form1.Left:=screen.Width-400; form1.top:=0; end; end. |
Re: Form auf dem Bildschirm richtig positionieren?
Im übrigen ist es sinnvoller Setbounds zu verwenden da sonst intern bei jedem setzen von Left, Top, Width und/oder Height SetBounds aufgerufen wird.
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage |
Re: Form auf dem Bildschirm richtig positionieren?
Also ich hab jetzt folgendes:
Delphi-Quellcode:
Muss halt nicht etwas runter (150) und nach links (20)
Form1.SetBounds(Screen.Width-Form1.Width-20, 100, Width, Height);
Scheint zu funken :thumb: |
Re: Form auf dem Bildschirm richtig positionieren?
:wall: leicht verlesen...
nja, irgendwo hier gab's doch 'nen Code, welcher die Größe des Desktopbereiches lieferte (also ohne Startleiste und Co.) ... wäre natürlich besser diese Maße zu verwenden, falls mal wer seine Startleiste wo anders hat, oder noch durch andere Dinge seinen Desktop verkleinert hat. |
Re: Form auf dem Bildschirm richtig positionieren?
Und wo findet man das? Ich finde es nicht :gruebel:
|
Re: Form auf dem Bildschirm richtig positionieren?
Also zum positionieren oben links mache ich es so:
Delphi-Quellcode:
Geht jetzt davon aus, das Fensterhöhe/Breite beibehalten werden soll und berücksichtigt auch unterschiedliche Positionen der Taskbar.
procedure TForm1.FensterAusrichten;
var DeskDC : hDC; ScreenClientRect : TRect; begin DeskDC := GetDC(0); SystemParametersInfo(SPI_GETWORKAREA,SizeOf(ScreenClientRect),@ScreenClientRect,0); ReleaseDC(0,DeskDC); SetBounds(ScreenClientRect.Left,ScreenClientRect.Top,Width,Height); end; Für rechts oben dann (die letzte Zeile) so:
Delphi-Quellcode:
SetBounds(ScreenClientRect.Right - Width,ScreenClientRect.Top,Width,Height);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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