You can just create your own decendant of TSpeedButton and put your code in there. Like TMySpeedButton. CMMouseEnter/MouseLeave ist the way to go.
If you haven't written components before:
Just copy the CMMouseEnter/MouseLeave procedure declarations from Buttons.pas and then create two new properties
property OnMouseEnter: TNotifiyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifiyEvent read FOnMouseLeave write FOnMouseLeave;
then in the CMMouseLeave/Enter procecedures you do this:
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
hope that helps.
Bookmarks