以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]全局单击事件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95428) |
||||||||
-- 作者:pcxjxjhkw -- 发布时间:2017/1/19 14:53:00 -- [求助]全局单击事件 如何定义一个全局鼠标单击事件?返回单击窗口的名称。
谢 |
||||||||
-- 作者:有点色 -- 发布时间:2017/1/19 15:45:00 -- 方法一:做一个计时器,用 forms.ActiveForm 获取。
方法二:去每个窗口click写代码。
|
||||||||
-- 作者:pcxjxjhkw -- 发布时间:2017/1/19 15:52:00 -- 可否在全局代码中,写一个全局鼠标单击事件? |
||||||||
-- 作者:有点色 -- 发布时间:2017/1/19 17:04:00 -- mark 钩子程序
实例
源码
|
||||||||
-- 作者:pcxjxjhkw -- 发布时间:2017/1/20 23:21:00 -- 以下是引用有点色在2017/1/19 17:04:00的发言:
mark 钩子程序
实例
源码
老师,运用您的示例,如何实现:在某一窗口外单击,该窗口隐藏 |
||||||||
-- 作者:有点蓝 -- 发布时间: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 |