![]() |
Komponente zur laufzeit ein onclick zuweisen
halli hallo...
ich habe folgendes Problem, waerend der Laufzeit moechte ich eine unbestimmte anzahl von Panels erstellen lassen, denen will ich dann eine Onklick prozedur zuweisen, der ein parameter (eine id) uebergeben wird... die prozedur soll fur jde komponente die gleiche sein, nur halt mit unterschiedlichen ids... wie genau kann ich das aufrufen der prozedur realiseren ??, das erstellen der panels ist nicht das Problem. Ein Beispielcode waer sehr nett.. danks schon mal im voraus... gruesse chris |
Re: Komponente zur laufzeit ein onclick zuweisen
IFs kannst du zawr in einer erreignisroutine nicht übergeben, du könntest aber die .tag-Eigenschaft des Panels für dies verwenden. Eine Referenz auf den Panel erhälst du ja über den Parameter Sender der Eventhandler-Methode.
|
Re: Komponente zur laufzeit ein onclick zuweisen
und der zugehörige Code zu mkinzlers Beitrag:
Delphi-Quellcode:
Edit: Also ist nur das Grundgerüst.. kA was du genau machen willst...
procedure TForm1.PanelClick(Sender : TObject);
begin case TPanel(Sender).Tag of 0:; 1:; n:; else end; end; |
Re: Komponente zur laufzeit ein onclick zuweisen
zuerst musst du eine procedure oben anmelden. dann schreibst du die procedure,
du kannst mit sender
Delphi-Quellcode:
auf das/die panel zugreifen. bei formcreate schreibst du dann noch rein
if sender is MyPanel then
Delphi-Quellcode:
MyPanel.OnClick:=procedurename;
|
Re: Komponente zur laufzeit ein onclick zuweisen
wenn ich das richtig versteh kann ich dem tag waerend dem erstellen der komponente einen wert zuweisen ??? so das ich diesen dan in der prozedure auswerten kann ???
|
Re: Komponente zur laufzeit ein onclick zuweisen
Ja.
|
Re: Komponente zur laufzeit ein onclick zuweisen
perfektion...mein dank wird euch ewig hinterher schleichen...
gruss chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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 by Thomas Breitkreuz