VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 2942|回复: 4

关于WindowLess控件的MouseOut事件

  [复制链接]
 楼主| 发表于 2009-10-16 19:41:44 | 显示全部楼层 |阅读模式
VB WindowLess控件 怎么获得MouseOut事件呢?SetCapture,没门,没有Hwnd
SetWindowLong,没门,没有Hwnd

候选:
1.
消息钩子钩住鼠标消息 已经完成全局鼠标钩子
细节:
鼠标移入以后开始全局钩子 当范围不在控件区域时候MouseOut+撤销钩子
2.
用一个Timer,不断获取鼠标位置。不能获取hwnd因为没有hwnd可供比较……
细节:
鼠标移入以后开始Timer 当范围不在控件区域时候MouseOut+关闭Timer

问下 哪一个效率比较高一点?

PS:不存在叠加情况 无需考虑
发表于 2009-10-17 23:39:34 | 显示全部楼层
我认为第一个比较实际,第二个比较易用..看具体情况吧...如果东西多了,用TIMER显得不太实用吧..
回复 支持 反对

使用道具 举报

发表于 2009-10-17 23:42:13 | 显示全部楼层
还有,你所说的应该是VB用户控件的WindowLess(无窗口模式吧.)它本来就自带可检测鼠标消息过程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-18 11:29:33 | 显示全部楼层
HitTest?好象不能接受mouseout.
回复 支持 反对

使用道具 举报

发表于 2009-10-18 11:58:47 | 显示全部楼层
方法二没问题的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-3 17:07

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表