Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi zweites form in der mitte vom ersten öffnen (https://www.delphipraxis.net/100751-zweites-form-der-mitte-vom-ersten-oeffnen.html)

Fredyy 3. Okt 2007 13:59


zweites form in der mitte vom ersten öffnen
 
hi,
ich habe in meinen prog 2 forms, doch ich möchte, dass sich das zweite form in der mitte von der aktuellen position des ersten form öffnet, ich habe das auch schon selber probiert jedoch nicht sehr erfolgreich.

Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.Top := round(Form1.Top + (Form1.Height/2));
form3.Left := round(Form1.Left + (Form1.Width/2));
end;
danke für eure hilfe.
mfg
fredyy

Christian Seehase 3. Okt 2007 14:02

Re: zweites form in der mitte vom ersten öffnen
 
Moin Fredyy,

probier's mal mit der Höhe und Breite von Form3 ;-)

Muetze1 3. Okt 2007 14:02

Re: zweites form in der mitte vom ersten öffnen
 
Schau dir mal die Eigenschaft Delphi-Referenz durchsuchenPosition der Form an - dort dann u.a. Delphi-Referenz durchsuchenpoOwnerFormCenter

Matze 3. Okt 2007 14:03

Re: zweites form in der mitte vom ersten öffnen
 
Hi,

meinst du vielleicht

Delphi-Quellcode:
Form2.Position := poMainFormCenter;
oder so ähnlich (im OI einstellbar)? Dann ist es zentriert vor dem Hauptformular.


Edit: Ich war wohl zu langsam.

Fredyy 3. Okt 2007 14:10

Re: zweites form in der mitte vom ersten öffnen
 
danke für die turbo antworten :)

jetzt bleibt nur noch eine frage offen, da sich das form 3 im laufe des progs häufiger öffnen bzw schliessen lässt, kann ich den code ja nicht in OnCreate packen, da würde er ja nur einmal ausgeführt, er soll bei jedem öffnen ausgeführt werden wo muss ich ihn dann rein packen? bin leider noch kein delphi profi.

mfg
fredyy

RavenIV 3. Okt 2007 14:22

Re: zweites form in der mitte vom ersten öffnen
 
Wie's der Name der Properties schon sagt:
OnCreate: Beim Erzwugen.
OnShow: Beim Anzeigen

Fredyy 3. Okt 2007 14:26

Re: zweites form in der mitte vom ersten öffnen
 
Zitat:

Zitat von RavenIV
Wie's der Name der Properties schon sagt:
OnCreate: Beim Erzwugen.
OnShow: Beim Anzeigen


wenn ich
Delphi-Quellcode:
procedure TForm3.FormShow(Sender: TObject);
begin
Form3.Position := poMainFormCenter;
end;
mache bekomme ich ne fehlermeldung "Cannot change Visible in OnShow or OnHide", er kann also die position in onshow nicht ändern, ist also leider nicht möglich :(

Matze 3. Okt 2007 14:31

Re: zweites form in der mitte vom ersten öffnen
 
Hi,

du könntest es bei jedem Aufruf neu setzen:

Delphi-Quellcode:
Form2.Position := poMainFormCenter;
Form2.Show;

DeddyH 3. Okt 2007 14:33

Re: zweites form in der mitte vom ersten öffnen
 
Dann mach es doch beim Aufruf von Show des Formulars (über Button or whatever):
Delphi-Quellcode:
procedure TFormMain.ButtonShowForm3Click(Sender: TObject);
begin
  Form3.Position := poMainFormCenter;
  Form3.Show;
end;
Ungetestet, sollte aber IMHO funktionieren.

[edit]Matze war einen Tick schneller[/edit]

Fredyy 3. Okt 2007 14:33

Re: zweites form in der mitte vom ersten öffnen
 
Zitat:

Zitat von Matze
Hi,

du könntest es bei jedem Aufruf neu setzen:

Delphi-Quellcode:
Form2.Position := poMainFormCenter;
Form2.Show;

ah, super da muss man erstmal drauf kommen, dass ganze aus der ersten unit zu steuern :)

danke, damit wäre meine frage geklärt.

mfg
fredyy


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