![]() |
OnClick Form verstecken - Aber dynamisch! :)
Hi ich erzeuge eine Form dynamisch. Auf dieser befindet sich ein Button.
Wenn man nun auf diesen Buttonklickt, soll die Form auf der er sich befindet versteckt werden. Kann mir jemand sagen wie ich das anstelle? |
Re: OnClick Form verstecken - Aber dynamisch! :)
Delphi-Quellcode:
FormName.Hide
|
Re: OnClick Form verstecken - Aber dynamisch! :)
Du musst dann deinem Button noch die Prozedur zuordnen, siehe auch hier:
![]()
Delphi-Quellcode:
MyMethod muss dabei eine Methode sein, also procedure of Object und die passende Parameterliste haben.
MyButton1.OnClick := MyMethod;
Keywords: dynamisch dynamische erzeugen erzeugt erzeugter zuweisen methode |
Re: OnClick Form verstecken - Aber dynamisch! :)
@Tyrael Y.: Kannst das mal ein wenig genauer ausführen? Die Methode muss ja auch wissen auf welcher Form sie sich jetzt befindet.
@Jfheins: ab ich schon gelesen und ich kann dem Button auch eine Methode zuordnen, aber ich weiß nicht wie ich dem Button sage welche Form er jetzt hiden soll. |
Re: OnClick Form verstecken - Aber dynamisch! :)
Einfach nur
Delphi-Quellcode:
oder
Hide;
Delphi-Quellcode:
:wink:
Self.Hide;
|
Re: OnClick Form verstecken - Aber dynamisch! :)
Welche der Formen du vertstecken möchtest kann ich ja nicht wissen ;)
aber zb:
Delphi-Quellcode:
ObjektNameDerForm.Hide;
bzw. self.Hide; |
Re: OnClick Form verstecken - Aber dynamisch! :)
Geht leider nicht, er versteckt nur die "Haupt"form...
|
Re: OnClick Form verstecken - Aber dynamisch! :)
Vielleicht
Delphi-Quellcode:
TYourFormType(Sender).Hide;
|
Re: OnClick Form verstecken - Aber dynamisch! :)
Jetzt wird der Button versteckt *g*
Wir schaffen das heute aber noch :mrgreen: EDIT1: So gehts:
Delphi-Quellcode:
TForm(sender).Parent.Hide;
|
Re: OnClick Form verstecken - Aber dynamisch! :)
..in der uses Klausel muss natürlich die Unit stehen in der die Form steckt die du vertstecken möchtest, wenn die Form in einer anderen Unit ist und dynamisch erzeugt wird, dann in der "Hauptform" diese auch erzeugen
zB.
Delphi-Quellcode:
interface
uses ...., DieUnitVonMyForm; THauptForm = class(TForm) ... private myForm: TMyForm ... end; //irgendwo die Form erzeugen zb. in create der Hauptform begin ... myForm := TMyForm.Create; ... end; //im OnClick des Buttons begin ... myForm.Hide; ... end; mfg |
Re: OnClick Form verstecken - Aber dynamisch! :)
du machst ne globale onCLick methode die du nacher bei Onclick des forms das du generierst, ansprichst
Delphi-Quellcode:
procedure OnGlobalClick(Sender : TObject);
Delphi-Quellcode:
mForm.OnClick := OnGlobalClick(self);
--> und im GlobalOnClick steht
Delphi-Quellcode:
TForm(Sender).Close;
mfg Nico |
Re: OnClick Form verstecken - Aber dynamisch! :)
@Nicodius: die Routine wird nur ausgefuehrt, wenn man auf die Form klickt, nicht aber wenn man auf den Button klickt ;)
Die Loesung ist doch einfach...Unit des Forms einbinden, und dann <Formname>.Hide; (wer bei sowas fragt verwendet naemlich auch die automatisch erstellten FOrms, nichts fuer ungut ;)) Greetz alcaeus |
Re: OnClick Form verstecken - Aber dynamisch! :)
Ich hab' zwar keine Ahnung, was ihr/du machst, aber das geht:
Delphi-Quellcode:
mit
procedure TForm1.Button1Click(Sender: TObject);
var MyForm: TForm2; begin MyForm := TForm2.Create(nil); MyForm.Button1.OnClick := MyForm.Button1Click; MyForm.Show; end;
Delphi-Quellcode:
type
TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin Hide; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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