Hallo liebe
DP'ler
ich habe folgendes Problem. Ich habe eine von TGraphicControl abgeleitete Komponente TArrow programmiert. Ich habe ein OnClick Ereignis eingebaut, allerdings kann ich das Hauptereignis nicht überschreiben, somit wird mein Event nie aufgerufen.
Hier mal ein gekürzter Codeabschnitt mit den Deklarationen des Events. Ich hab nur keinen Plan wo ich die Prozedur dazu hinbauen soll. Habe of was von
if Assigned(FOnClick) then FOnClick(Self);
gelesen. Wenn ich den Code auch in eine procedure reinbaue wird der Code der im Event einprogrammiert ist zwar aufgerufen, aber nicht bei einem OnClick sondern eben dann wenn die procedure aufgerufen wird in der der obige Code drin steht. Das ist ja aber nicht Sinn und Zweck.
Ich habe auch gelesen, dass TGraphicControl keine Events hat, aber das macht doch irgendwie keinen Sinn, da laut
OH TLabel z.B. von TGraphicControl abgeleitet ist. Und TLabel hat ja Events. Also muss das doch irgendwie gehen.
Delphi-Quellcode:
type
TArrowDirection = (drLeftRight, drUpDown, drTopLeftBottomRight, drTopRightBottomLeft);
TArrowType = (atRect, atRoundRect, atEllipse);
TArrow = class(TGraphicControl)
private
{ Private-Deklarationen }
FOnClick: TNotifyEvent;
protected
{ Protected-Deklarationen }
procedure Paint; override;
public
{ Public-Deklarationen }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published-Deklarationen }
property OnClick: TNotifyEvent read FOnClick write FOnClick;
end;
Ich hoffe ihr könnt mir helfen.
Grüße Ben