及常态 鼠标进入态 点击态 出区域态

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;type
      TMyImage = class(TImage)
      protected
        procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
        procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
      end;  TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}{ TMyImage }procedure TMyImage.CMMouseEnter(var Msg: TMessage);
    begin
      Self.Cursor:= crHandPoint;
      Self.Canvas.TextOut(0, 0, 'Mouse enter!');
    end;procedure TMyImage.CMMouseLeave(var Msg: TMessage);
    begin
      Self.Cursor:= crDefault;
      Self.Canvas.TextOut(0, 0, 'Mouse leave!');
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      MyImg: TMyImage;
    begin
      MyImg:= TMyImage.Create(self);
      MyImg.Parent:= Self;
      MyImg.Left:= 0;
      MyImg.Top := 0;
    end;end.