Delphi自己隐藏自定义弹出列表
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点之间睡着),真是舒服。昨天的效率一般,大部分时候在修改之前窗体的代码,以实现
上篇提到的目标。感觉好菜啊。
Delphi自己隐藏自定义弹出列表
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/64899.html
- 上一篇:C#虚函数和接口的区别
- 下一篇:WPF 实现指定UI控件截图