易语言鼠标点击窗口以外的就销毁这个窗口

易语言启动了一个窗口(其实算是自定义的托盘功能),打开了之后怎么去判断鼠标点击的范围不在这个窗口以内的地方就销毁?不要用时钟,太耗内存了。... 易语言启动了一个窗口(其实算是自定义的托盘功能),打开了之后怎么去判断鼠标点击的范围不在这个窗口以内的地方就销毁?
不要用时钟,太耗内存了。
展开
 我来答
小夸理财
推荐于2016-07-13 · TA获得超过457个赞
知道小有建树答主
回答量:637
采纳率:62%
帮助的人:320万
展开全部
  1. 监控鼠标按键   比如鼠标单击了左键  但是这个时候取当前鼠标句柄不等于你的窗口或者不在窗口的番外内就销毁

2.代码   

附:使用易语言扩展组件的最后一个 输入设备

.版本 2
.支持库 EdirectX
.支持库 eAPI

.子程序 __启动窗口_创建完毕


输入设备1.激活 ()
输入设备1.置刷新时间 (10)
输入设备1.初始化 (0)  ' 设置0就是全局当前桌面差不多的意思

.子程序 _输入设备1_鼠标按键被改变
.参数 键值, 整数型
.参数 键状态, 整数型

.如果真 (键值 = 256)
    输出调试文本 (“按下了左键”)
    .如果 (取鼠标所在窗口句柄 () = _启动窗口.取窗口句柄 ())
        输出调试文本 (“在窗口上”)
    .否则
        输出调试文本 (“不在窗口上”)
    .如果结束

.如果真结束


但是这个有一个BUG,可能如果你的窗口上有其他组件,他则会去到组件的句柄从而说不在窗口上,这个时候你可以把 取鼠标所在窗口句柄 () = _启动窗口.取窗口句柄 () 加上


取鼠标所在窗口句柄 () = _启动窗口.取窗口句柄 () 或 取鼠标所在窗口句柄 () = 按钮1.取窗口句柄 


这样把所有的组件句柄叠加一下


第二种方法你可以用鼠标控制器判断鼠标位置,设置边界即可

追问
大神,请问鼠标右键是什么值,双击又是什么值
追答
额,你这样

设置这个时候,
代码加一个
输出调试文本(键值)
然后你点击左键就会弹出256.,右键应该是258还是257的样子,看调试文本就知道了
独语无泪
2015-12-04 · TA获得超过207个赞
知道小有建树答主
回答量:302
采纳率:75%
帮助的人:255万
展开全部
不用时钟没法判断当前鼠标位置,你可以在启动你那个窗口时置一个时钟周期,销毁那个窗口之前再将时钟周期置为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式