首页 > 技术文章 > Delphi自己隐藏自定义弹出列表

jspdelphi 2016-04-14 06:06 原文

先上代码

procedure TForm3.Timer1Timer(Sender: TObject);

var

  Point: TPoint;

  Name: array[0..255] of Char;

  Buffer: array[0..1023] of Char;

  AHandle: THandle;

begin

  //取得鼠标位置

  GetCursorPos(Point);

  //取得当前窗口句柄

  AHandle := WindowFromPoint(Point);

 

  if (AHandle<>LabEGroup.Handle) and (AHandle<>FrameTree1.TreeView1.Handle) then

  begin

    Timer1.Enabled:=False;

    PanelList.Visible:=False;

  end;

 

//  GetClassName(AHandle, Name, Length(Name));

 

//  SendMessage(AHandle, WM_GETTEXT, 1023, Integer(@Buffer));

//  Caption := StrPas(Name);

//  Result := StrPas(Buffer);

end;

在编辑信息的时候,LabGroup是从TreeView中获取的值,TreeView放在Frame中做成一个菜单一样。

上面函数从网上找的,原来是获取鼠标位置控件的类和内容

 

TlabalEdit,TFrame都没有mouseLeave事件,Form的mouseMove因为有窗口的原因,也没用。最后只有上面的方法可用

 

昨天是本周第一个子夜觉(12点之间睡着),真是舒服。昨天的效率一般,大部分时候在修改之前窗体的代码,以实现

上篇提到的目标。感觉好菜啊。

推荐阅读