delphi 响应鼠标进入控件消息

Posted zhangzhifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 响应鼠标进入控件消息相关的知识,希望对你有一定的参考价值。

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;

  

以上是关于delphi 响应鼠标进入控件消息的主要内容,如果未能解决你的问题,请参考以下文章

MFC中如何让静态控件响应鼠标移动的消息?

MFC 中,按钮和其他(比如:图片框、列表框)控件怎么响应鼠标移动消息?

c# 为自定义控件添加鼠标双击事件

MFC怎么为一幅图片添加鼠标点击事件?

MFC中怎么让一个继承CWnd的静态控件来响应鼠标移动的消息

鼠标进入与离开的消息(使用CM_MOUSEENTER来判断是否进入控件)