![]() |
Funktion in Komponente überschreiben
Hallo,
ich hab ein Panel gebastelt auf dem ich mehrere Images drauflege. Das ist meine Komponente. Wie kann ich in der Komponente auf das OnClick Ereignis eines Images reagieren ? Danke! mfg skunker. |
Re: Funktion in Komponente überschreiben
du musst einfch den Images eine OnClick-Methode zuordnen.
|
Re: Funktion in Komponente überschreiben
hmm und wie mach ich das ?
ich hab ne funktion erstellt: imageclicked(); und beim constructor meinimage.OnClick:=imageclicked(); hinzugefügt nur sagt er mir: Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter' wo ist das Prob? |
Re: Funktion in Komponente überschreiben
eine OnClick-Procedure ist vom Typ TNotifyEvent und das ist wie folgt definiert:
Delphi-Quellcode:
Das heißt deine Procedure muss einen Parameter vom Typ TObject haben und eine Procedure eines Objectes sein. z.B.:
TNotifyEvent = procedure(Sender: TObject) of Object;
Delphi-Quellcode:
Und beim zuweisen musst du die klammern dann weg lassen:
procedure TDeineKlasse.ImageClicked(Sender: TObject);
Delphi-Quellcode:
meinimage.OnClick:=imageclicked;
|
Re: Funktion in Komponente überschreiben
zB. so:
Delphi-Quellcode:
interface
uses Windows,...; type TForm1 = class(TForm) Image1: TImage; private { Private-Deklarationen } procedure onMyImgClick(Sender: TObject); // <---<<< public { Public-Deklarationen } end; //... implementation //... procedure TForm1.FormCreate(Sender: TObject); begin Image1.OnClick := onMyImgClick; //... end; procedure TForm1.onMyImgClick(Sender: TObject); begin // to do end; |
Re: Funktion in Komponente überschreiben
ah Ok Danke. :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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