![]() |
Ereignisse eines Events bei abgeleiteter Klasse Definieren
Hallo Leute.
Ich habe dass Problem, dass ich eine Klasse von TImage ableiten möchte, jedoch schon vorgeben möchte, was z.B. bei einem OnMouseOver Ereignis getan wird. Gibt es irgendeine Möglichkeit, einem Event beispielsweise eine feste Procedure zuzuweisen? |
Re: Ereignisse eines Events bei abgeleiteter Klasse Definier
weise doch in der abgeleiteten Klasse dem OnMouseOver Ereignis einfach eine Klassenprocedure zu. Oder versteh ich da was falsch?
|
Re: Ereignisse eines Events bei abgeleiteter Klasse Definier
Zitat:
Es geht also darum, das OnMouseEvent in der neuen Komponente nach aussen hin ganz zu verstecken. Das geht so von TImage abgeleitet nicht. Die meisten Komponten sind aber selbst von einer Basisklasse abgeleitet, welche nach aussen hin noch keine Events offen legt, und in diesem Fall dürfte die TCustomImage heissen. Die gilt es dann als Vorfahren der eigenen Klasse zu wählen. |
Re: Ereignisse eines Events bei abgeleiteter Klasse Definier
Danke dass werde ich dann mal versuchen
|
Re: Ereignisse eines Events bei abgeleiteter Klasse Definier
die meisten Klassen haben solche Funktionen wie MoudeDown etc. im Protected. Wenn dem nicht so ist kann man das Eregnis einfach neu definieren.
Delphi-Quellcode:
type
TNewImage = class(TImage) private fOnMouseOver: TNotifyEvent; procedure FOnMouseOverProc(Sender: TObject); public constructor Create(AOwner: TComponent); override; published property OnMouseOver: TNotifyEvent read fOnMouseOver write fOnMouseOver; end; constructor TNewImage.Create(AOwner: TComponent); override; begin inherited Create(AOwner); inherited OnMouseOver := FOnMouseOverProc; end; procedure TNewImage.FOnMouseOverProc(Sender: TObject); begin //Quelltext hier plazieren was vor auslösen des Events passieren soll if Assigned(fOnMouseOver) then fOnMouseOver(Sender); //Quelltext hier plazieren was nach auslösen des Events passieren soll end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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