Extend the TIMAGE control so that it has a mouse moving event.

xiaoxiao2021-03-06  81

Unit myimage;

Interface

Uses Sysutils, Messages, Classes, Controls, ExtCtrls

type TMyImage = class (TImage) private {Private declarations} FOnMouseLeave: TNotifyEvent; FOnMouseEnter: TNotifyEvent; procedure CMMouseLeave (var Message: TMessage); message CM_MOUSELEAVE; procedure CMMouseEnter (var Message: TMessage); message CM_MOUSEENTER; protected {Protected declarations} public {Public declarations} published {Published declarations} property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; end;

PROCEDURE register;

IMPLEMentation

Procedure Register; Begin RegisterComponents ('Mypalette', [TMYIMAGE]); END;

{TMYIMAGE}

Procedure TMYIMAGE.CmmouseEnter (Var Message: TMessage); Begininherited; if Assigned (fonmouseenter) THEN FONMOUSEENTER (Self);

Procedure TMYIMAGE.CMMMMMOUSELEAVE (VAR Message: TMESSAGE); Begininherited; if Assigned (FonmouseLeave) THEN FONMOUSELEAVE (Self);

End.

转载请注明原文地址:https://www.9cbs.com/read-93163.html

New Post(0)