Foxtable(狐表)用户栏目专家坐堂 → [求助]全局单击事件


  共有2045人关注过本帖树形打印复制链接

主题:[求助]全局单击事件

帅哥哟,离线,有人找我吗?
pcxjxjhkw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
[求助]全局单击事件  发帖心情 Post By:2017/1/19 14:53:00 [只看该作者]

如何定义一个全局鼠标单击事件?返回单击窗口的名称。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 15:45:00 [只看该作者]

方法一:做一个计时器,用 forms.ActiveForm 获取。

 

方法二:去每个窗口click写代码。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/1/19 15:52:00 [只看该作者]

可否在全局代码中,写一个全局鼠标单击事件?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 17:04:00 [只看该作者]

mark 钩子程序

 

实例

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:钩子示例.zip

 

源码

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hooktest.rar


 回到顶部
帅哥哟,离线,有人找我吗?
pcxjxjhkw
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2017/1/20 23:21:00 [只看该作者]

以下是引用有点色在2017/1/19 17:04:00的发言:

mark 钩子程序

 

实例

 

 下载信息  [文件大小:20.7 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:钩子示例.zip

 

源码

 

 下载信息  [文件大小:83.1 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:hooktest.rar

 

老师,运用您的示例,如何实现:在某一窗口外单击,该窗口隐藏


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106079 积分:539494 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/21 10:17:00 [只看该作者]

以下仅对独立、模式窗口有效

hook_OnMouseActivity函数增加代码

Dim f  = Forms("窗口2").baseform
If e.Button = windows.forms.mousebuttons.left And f IsNot Nothing Then
    Dim p1 As point = new point(f.Left,f.Top)
    Dim p3 As point = new point(f.Left+f.Width , f.Top + f.Height)
    If e.X < p1.X OrElse e.X > p3.X OrElse e.y < p1.Y OrElse e.Y > p3.Y Then f.close
End If

 回到顶部