![]() |
ShowModal und Handle
Ich öffne aus Form1 heraus mit
Form2.ShowModal; eine weitere Form. Wie bekomm ich jetzt das Handle von Form1? Gibt es da eine Möglichkeit, ohne das ich es explizit übergebe? Das wird doch bestimmt automatisch mit übergeben. |
Re: ShowModal und Handle
wenn form1 das hauptformular ist dann mit
Delphi-Quellcode:
Application.MainForm.Handle
|
Re: ShowModal und Handle
Moin mumu,
und wenn es das nicht ist mit
Delphi-Quellcode:
Form1.Handle;
|
Re: ShowModal und Handle
ich hab vergessen noch weng was dazu zu sagen:
Form2 wird so aus Form1 erstellt und anschließend aufgerufen:
Delphi-Quellcode:
Eine Globale Variable in Form1 gibt es nicht. möchte ich auch nicht unbedingt haben.
Form2 := TForm2.Create(Self);
Form2.Show; bisher hab ich es so gelöst. ist nicht grad elegant, wenn jemand ne bessere idee hat melden:
Delphi-Quellcode:
in form2 brauche ich schon beim createn den handle von form1. also übergeben würde auch nicht funktionieren.
Self.Tag = Self.Handle;
Form2 := TForm2.Create(Self); Form2.Show;
Delphi-Quellcode:
procedure TForm2.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); Params.WndParent := Self.Owner.Tag; end; |
Re: ShowModal und Handle
Moin mumu,
wenn Du das Formular so generierst
Delphi-Quellcode:
ist der Owner das Form1 (ich nehme mal an, das Du es in einer Methode von Form1 aufrufst)
Form2 := TForm2.Create(Self);
Somit müsste also
Delphi-Quellcode:
das Handle von Form1 zurückliefern.
TForm(Owner).Handle
|
Re: ShowModal und Handle
ja genau das wars. ich hab mir doch gedacht. mensch über owner.handle müsste ich das handle bekommen. aber ich war natürlich zu blöd, um zu schauen, welchen objecttyp ich da überhaupt zurückbekomm. (TComponent)
vielen dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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