unit
ExtImage;
interface
uses
Controls, ExtCtrls, Messages, Classes, Graphics;
type
TCustomExtImage =
class
(TImage)
private
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
procedure
CMMouseEnter(
var
Message: TMessage); message CM_MOUSEENTER;
procedure
CMMouseLeave(
var
Message: TMessage); message CM_MOUSELEAVE;
protected
property
OnMouseEnter: TNotifyEvent read FOnMouseEnter
write
FOnMouseEnter;
property
OnMouseLeave: TNotifyEvent read FOnMouseLeave
write
FOnMouseLeave;
procedure
MouseEnter; virtual;
procedure
MouseLeave; virtual;
end
;
TExtImage =
class
(TCustomExtImage)
published
property
OnMouseEnter;
property
OnMouseLeave;
end
;
procedure
Register;
implementation
procedure
Register;
begin
RegisterComponents(
'Supplement'
, [TExtImage]);
end
;
procedure
TCustomExtImage
.
CMMouseEnter(
var
Message: TMessage);
begin
MouseEnter;
end
;
procedure
TCustomExtImage
.
CMMouseLeave(
var
Message: TMessage);
begin
MouseLeave;
end
;
procedure
TCustomExtImage
.
MouseEnter;
begin
if
Assigned(FOnMouseEnter)
then
FOnMouseEnter(Self);
end
;
procedure
TCustomExtImage
.
MouseLeave;
begin
if
Assigned(FOnMouseLeave)
then
FOnMouseLeave(Self);
end
;
end
.