张志峰的博客

水滴石川,积少成多。

导航

delphi 响应鼠标进入控件消息

Posted on 2018-11-19 13:45  ╰★张志峰★╮  阅读(806)  评论(0编辑  收藏  举报

procedure MSGEnter(var msg:TMessage);message CM_MOUSEENTER;//响应进入的消息
procedure MSGLeave(var msg: TMessage);message CM_MOUSELEAVE;//响应离开的消息

    procedure Button1Click(Sender: TObject);
    procedure tbStatusToolBarMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure TBXItem1Click(Sender: TObject);
    procedure Button2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    function GetEditText: string;
    procedure MSGEnter(var msg:TMessage);message CM_MOUSEENTER;//响应进入的消息
    procedure MSGLeave(var msg: TMessage);message CM_MOUSELEAVE;//响应离开的消息
    { Private declarations }
  public
    { Public declarations }
  end;


procedure TForm2.MSGEnter(var msg: TMessage);
var
  myobj : TObject;
begin
//  myobj := TObject(msg.LParam);//用LParam进行判断鼠标进入了哪个控件
//  if (myobj <> nil) and (myobj is TPanel) then
//    TPanel(myobj).Caption := 'enter';
end;

procedure TForm2.MSGLeave(var msg: TMessage);
var
  myobj : TObject;
begin
    myobj := TObject(msg.LParam);
//  if (myobj <> nil) and (myobj is TPanel) then
//  begin
//    TPanel(myobj).Visible := False;
//    Button2.Tag := 0;
//  end;
    //TPanel(myobj).Caption := 'leave';
end;