//依赖定时器定时检查鼠标是否还在窗体范围内,这样此能避免因为快速移动鼠标而丢失MOUSELEAVE事件
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
rc:TRECT;
pt:TPOINT;
begin
GetWindowRect(self.Handle,rc); //取窗体的矩形区域
GetCursorPos(pt); //取得当前鼠标所在位置
if(not PtInRect(rc,pt)) then //如果鼠标不在窗体范围内
begin
if(Top = 0) then //如果目前窗体正吸附在屏
//依赖定时器定时检查鼠标是否还在窗体范围内,这样此能避免因为快速移动鼠标而丢失MOUSELEAVE事件 procedure TfrmMain.Timer1Timer(Sender: TObject); var rc:TRECT; pt:TPOINT; begin GetWindowRect(self.Handle,rc); //取窗体的矩形区域 GetCursorPos(pt); //取得当前鼠标所在位置 if(not PtInRect(rc,pt)) then //如果鼠标不在窗体范围内 begin if(Top = 0) then //如果目前窗体正吸附在屏
可以用,不错!借鉴了
确认可以用啊
是我要的东西,谢谢楼主!
基本代码.框架.可以扩展
正好是我需要的,思路是 利用定时器 定时去查看鼠标是否在窗口上,如果不在 就隐藏 在就显示
没有panel的隐藏啊。只是窗体的隐藏。
没啥帮助,不行
做得还得,但实际效率不是太高