Hi,
ich versuche bei einer eigene Komponente einen hover-Effekt zu bauen. Dazu brauche ich die Eregnisse OnMouseEnter und OnMouseLeave. ich habe folgendes veruscht:
Delphi-Quellcode:
type
TRoundedHoverLabel = class(TShape)
private
{ Private-Deklarationen }
...
fOnMouseEnter: TNotifyEvent;
protected
{ Protected-Deklarationen }
...
procedure SetOnMouseEnter(Event: TNotifyEvent);
public
{ Public-Deklarationen }
published
{ Published-Deklarationen }
constructor Create(AOwner: TComponent); override;
...
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write SetOnMouseEnter;
end;
...
...
procedure TRoundedHoverLabel.SetOnMouseEnter(Event: TNotifyEvent);
begin
fOnMouseEnter := Event;
if not fDown then //fdown ist true wenn der "gedrückt"-style aktiv ist
begin
Pen.Color := clGradientInactiveCaption;
Pen.Mode := pmNotXor;
Pen.Style := psSolid;
end;
end;
Das Shape verändert sich aber nicht beim drüberfahren. Wieso?
ciao,
Andy