Delphi-PRAXiS

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/)
-   -   Delphi ShowModal und Handle (https://www.delphipraxis.net/45692-showmodal-und-handle.html)

mumu 10. Mai 2005 21:10


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.

SirThornberry 10. Mai 2005 21:22

Re: ShowModal und Handle
 
wenn form1 das hauptformular ist dann mit
Delphi-Quellcode:
Application.MainForm.Handle

Christian Seehase 10. Mai 2005 21:36

Re: ShowModal und Handle
 
Moin mumu,

und wenn es das nicht ist mit

Delphi-Quellcode:
Form1.Handle;

mumu 11. Mai 2005 10:32

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:
Form2 := TForm2.Create(Self);
Form2.Show;
Eine Globale Variable in Form1 gibt es nicht. möchte ich auch nicht unbedingt haben.
bisher hab ich es so gelöst. ist nicht grad elegant, wenn jemand ne bessere idee hat melden:

Delphi-Quellcode:
Self.Tag = Self.Handle;
Form2 := TForm2.Create(Self);
Form2.Show;
in form2 brauche ich schon beim createn den handle von form1. also übergeben würde auch nicht funktionieren.
Delphi-Quellcode:
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := Self.Owner.Tag;
end;

Christian Seehase 11. Mai 2005 10:35

Re: ShowModal und Handle
 
Moin mumu,

wenn Du das Formular so generierst

Delphi-Quellcode:
Form2 := TForm2.Create(Self);
ist der Owner das Form1 (ich nehme mal an, das Du es in einer Methode von Form1 aufrufst)

Somit müsste also

Delphi-Quellcode:
TForm(Owner).Handle
das Handle von Form1 zurückliefern.

mumu 11. Mai 2005 11:57

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 14:54 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