![]() |
Komponente und Events
Hallo,
ich hab folgendes Problem: wir haben eine Komponente aus Tcustomcontrol abgleitet. Darauf werden zur Laufzeit Images plaziert. Wie kann ich feststellen welches Image angeklickt wurde? Wenn ich die Eventroutine für Tcustomcontrol verwende reagiert die Komponente nicht sobald ich auf Timage bin. Für jedes Image ist auch sinnlos. Steh ich einfach nur auf dem Schlauch oder was mach ich falsch? Rainer |
Re: Komponente und Events
Zitat:
Du kannst doch beim Erzeugen deines Bildes die OnClick Methode überschreiben und in deiner Komponente abhandeln. Der Sender sagt dir dann, welche Bild geklickt wurde. |
Re: Komponente und Events
Wie sagt er mir das?
|
Re: Komponente und Events
Ach so, ich hab vergessen zu sagen, dass die Images als Arryay deklariert sind.
Rainer |
Re: Komponente und Events
Ich nehm mal an, du erstellst deine Images innerhalb deiner Komponente dynamisch. Also irgendwo muss sowas stehen wie:
Delphi-Quellcode:
Dies muss du noch etwas ausbauen, damit du nachher noch weisst, was welches Image ist:
img := TImage.create (Self) ;
Delphi-Quellcode:
Tag dient später dazu, dein geklicktes Image zu identifizieren. Dies geschieht in der MeinOnClick Methode, welche du als privat in deiner Komponentenklasse deklarierst, wie folgt:
img := TImage.create (Self) ;
with img do begin Tag := index ; // index ist deine Zählvariable ; index := index + 1 ; OnClick := MeinOnClick ; end ;
Delphi-Quellcode:
TMeineKompo = class
private procedure MeinOnClick (Sender : TObject) ; ... end ; procedure TMeineKompo.MeinOnClick (Sender : TObject) ; var img : TImage ; begin if Sender is TImage then begin img := Sender as TImage ; case Tag of 1: ; // erstes dynamisch erzeugtes Image wurde geklickt end ; end ; end ; |
Re: Komponente und Events
OK,
ich danke dir! Ich hatte geglaubt ich könnte direkt auf die Indizes zugreifen. Aber so ist mir auch geholfen. Nochmals danke! Rainer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 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