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点之间睡着),真是舒服。昨天的效率一般,大部分时候在修改之前窗体的代码,以实现

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

posted @ 2016-04-14 05:55  后凤凰  阅读(317)  评论(0)    收藏  举报