![]() |
AW: Form über anderer Form zentrieren
Zitat:
Tja, dann redest du von 2 Forms und ich zähle im Code aber 3 Forms/Variablen. (Self, F und dlgShowMsg) |
AW: Form über anderer Form zentrieren
Zitat:
Form1 ist die Haupt-Form, Form2 eine beliebige von dort aufgerufene Form die wiederum Form3 aufruft. Form3 ist gleich dlgShowMsg. F sollte der Aufrufer von Form3 sein, Self ist Form 3. |
AW: Form über anderer Form zentrieren
Moin...:P
Zitat:
Delphi-Quellcode:
oder im constructor beim erzeugen von Form3
function ShowMsg(ParentForm: TForm; MsgText, HeaderText: String; mButtons, mIcon: Word): Integer;
..
Delphi-Quellcode:
...was ist daran nicht elegant? :P
constructor Create(AOwner: TComponent; ParentForm: TForm); reintroduce;
.. constructor TfrBlubb.Create(AOwner: TComponent; ParentForm: TForm); begin inherited Create(AOwner); .. end; Die Dialog Form intessiert nur wer in aufgerufen hat, damit er seine eigenen Positionen berechnen kann. (siehe DeddyH) ...fertsch. 8-) |
AW: Form über anderer Form zentrieren
Da Form 3 von unterschiedlichen anderen Formularen aufgerufen wird, ist der Constructor kaum die richtige Stelle. Ich habe es stattdessen mit einer überladenenen Version von ShowModal gemacht:
Delphi-Quellcode:
function ShowModal(MsgText, HeaderText: String; mButtons, mIcon: Word; aCaller: tForm): Integer; overload;
Was nicht elegant ist: Dass ich bei über 100 Aufrufen jetzt jedesmal das aufrufende Formular als Parameter einfügen muss. |
AW: Form über anderer Form zentrieren
Zitat:
Delphi-Quellcode:
Dialog := TfoBlubb.Create(nil, self);
try Dialog.ShowMessage('Bla'); finally Dialog.Free; end; |
AW: Form über anderer Form zentrieren
Da ist mir der Einzeiler mit dem Aufruf von ShowModal deutlich lieber ... :)
|
AW: Form über anderer Form zentrieren
Geht das nicht auch mit Form3.Position := poMainFormCenter oder poOwnerFormCenter? Im zweiten Fall müsste man Form3 als Owner Form2 mitgeben, oder?
|
AW: Form über anderer Form zentrieren
Zitat:
Ich hätte auch gedacht, dass 'poOwnerFormCenter' genau für einen solchen Fall da ist (s. mein Eingangs-Post), klappt aber leider nicht. |
AW: Form über anderer Form zentrieren
Moin...:P
Zitat:
|
AW: Form über anderer Form zentrieren
Zitat:
Delphi-Quellcode:
procedure TForm1.Bt_Form2Click(Sender: TObject);
begin U2 := TForm2.Create(Self); Try U2.Position := poOwnerFormCenter; U2.ShowModal; Finally U2.Free; End; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 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