Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Form auf dem Bildschirm richtig positionieren? (https://www.delphipraxis.net/128932-form-auf-dem-bildschirm-richtig-positionieren.html)

AlexII 9. Feb 2009 20:50


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:
Form1.Left:=Screen.Width-400;
Form1.Top:=Screen.Height-900;
:gruebel:

himitsu 9. Feb 2009 20:52

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

himitsu 9. Feb 2009 20:54

Re: Form auf dem Bildschirm richtig positionieren?
 
[del]

isilive 9. Feb 2009 20:56

Re: Form auf dem Bildschirm richtig positionieren?
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
  begin
    form1.Left:=screen.Width-400;
    form1.top:=0;
  end;
end.
Funktioniert bei mir - respektive einer Fensterbreite von 400 natürlich....

SirThornberry 9. Feb 2009 20:59

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 9. Feb 2009 21:03

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage

AlexII 9. Feb 2009 21:11

Re: Form auf dem Bildschirm richtig positionieren?
 
Also ich hab jetzt folgendes:

Delphi-Quellcode:
Form1.SetBounds(Screen.Width-Form1.Width-20, 100, Width, Height);
Muss halt nicht etwas runter (150) und nach links (20)

Scheint zu funken :thumb:

himitsu 9. Feb 2009 21:17

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.

AlexII 9. Feb 2009 21:32

Re: Form auf dem Bildschirm richtig positionieren?
 
Und wo findet man das? Ich finde es nicht :gruebel:

Satty67 9. Feb 2009 21:36

Re: Form auf dem Bildschirm richtig positionieren?
 
Also zum positionieren oben links mache ich es so:
Delphi-Quellcode:
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;
Geht jetzt davon aus, das Fensterhöhe/Breite beibehalten werden soll und berücksichtigt auch unterschiedliche Positionen der Taskbar.

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 12:22 Uhr.
Seite 1 von 2  1 2      

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