Du kannst die Events auch selbst definieren, viel Code gehört nicht dazu (ungetestet):
Delphi-Quellcode:
//...
interface
type
TMeinControl = class(TAnderesControl)
private
//...
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
//...
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
//...
published
//...
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
//...
end;
implementation
//...
procedure TMeinControl.CMMouseEnter(var Message: TMessage);
begin
inherited;
if (Message.LParam = 0) and Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
end;
procedure TMeinControl.CMMouseLeave(var Message: TMessage);
begin
inherited;
if (Message.LParam = 0) and Assigned(FOnMouseLeave) then
FOnMouseLeave(Self);
end;
Das sollte eigentlich auch unter BDS2006 laufen.