Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi anwendung im bildschirm zentrieren (https://www.delphipraxis.net/10951-anwendung-im-bildschirm-zentrieren.html)

Affje 28. Okt 2003 16:17


anwendung im bildschirm zentrieren
 
hi

wie kann ich machen, dass meine anwendung genau in der mitte des bildschirmes ist????
wie mache ich das, wenn meine anwendung aus mehreren formen besteht, also ich möchte form2 genau in der mitte von form 1 haben.

mfg affje

Mirilin 28. Okt 2003 16:25

Re: anwendung im bildschirm zentrieren
 
:hi:

Delphi-Quellcode:
TCustomForm.Position
Delphi-Quellcode:
TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly,poScreenCenter, poDesktopCenter, poMainFormCenter, poOwnerFormCenter);

APP 28. Okt 2003 16:30

Re: anwendung im bildschirm zentrieren
 
Hallo,

probiere mal im Objektinspektor bei Form2

Code:
Position:=poMainFormCenter
zu stellen.

Stanlay Hanks 28. Okt 2003 17:10

Re: anwendung im bildschirm zentrieren
 
Hallo. Ich bin mir nicht sicher, aber das mit dem "Position" könnte schief gehen, wenn zum Beispiel der Anwender eine überdurchschnittlich hohe/breite Taskbar hat.
Deshalb das ganze auch mal "manuell":

Delphi-Quellcode:
begin
  Left := Screen.WorkAreaWidth div 2 - Width div 2;
  Top := Screen.WorkAreaHeight div 2 - Height div 2;
end;
Dann wird das Form auf dem ihm zur verfügung stehenden Platz positioniert (zentriert);

APP 28. Okt 2003 17:25

Re: anwendung im bildschirm zentrieren
 
Zitat:

Zitat von Affje
hi

wie kann ich machen, dass meine anwendung genau in der mitte des bildschirmes ist????
wie mache ich das, wenn meine anwendung aus mehreren formen besteht, also ich möchte form2 genau in der mitte von form 1 haben.

mfg affje

Eigentlich waren das ja 2 Fragen,
Für Frage 2 sollte Position reichen, da die MainForm (Form1) ja nicht in der Mitte des Bildschirms sein muß.

Zu Frage 1: Ich habe zu Hause nur D5 und da gibt es
Delphi-Quellcode:
WorkAreaHeight
nicht, da habe ich mir so geholfen:

Delphi-Quellcode:
   FUNCTION aGetDesktopWorkingArea: TRect;
      {*****************************************************************************
       *** gibt den Desktop-Arbeitsbereich zurück (D5-D7)                       ***
       *** ----------------------------------------------                        ***
       *** INPUT: n/a                                                          ***
       *** OUTPUT: n/a                                                          ***
       *** RESULT: Recatangle                                                   ***
       *[flapp 01/01/2003]**********************************************************}
   {$IFDEF VER150}                                // ab Delphi 7 implementiert ?
   {$ELSE}                                        // Delphi 5 und kleiner per API
   VAR
      recScreenArea               : TRect;
   {$ENDIF}
   BEGIN
{$IFDEF VER150}                                   // ab Delphi 7 implementiert ?
      aGetDesktopWorkingArea := Screen.WorkAreaRect;
{$ELSE}                                           // Delphi 5 und kleiner per API
      SystemParametersInfo(SPI_GETWORKAREA, 0, @recScreenArea, 0);
      aGetDesktopWorkingArea.Bottom := recScreenArea.Bottom;
      aGetDesktopWorkingArea.Left := recScreenArea.Left;
      aGetDesktopWorkingArea.Right := recScreenArea.Right;
      aGetDesktopWorkingArea.Top := recScreenArea.Top;
{$ENDIF}
   END;

Affje 28. Okt 2003 21:13

Re: anwendung im bildschirm zentrieren
 
ging ja einfach, einfach im OI auf position gehen und desktopcenter auswäheln :wall:

axelf98 28. Okt 2003 21:47

Re: anwendung im bildschirm zentrieren
 
Zitat:

Zitat von Affje
ging ja einfach, einfach im OI auf position gehen und desktopcenter auswäheln :wall:

Ja, aber das hat einen Nachteil: Wenn jemand 2 Monitore hat, wird dein Programm in der Mitte zerteilt... Nimm lieber Position := poScreenCenter und setze DefaultMonitor := dmPrimary !


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 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