这不就是焦点问题吗?
给一个定时器给mouse,让它定时接收所处位置的信息
判断是否有窗体控件
若有
读取控件类型
再大喊,“你这个东东,这领空可不是你的!”
没有呢
当然放心去滚,还可以放松心情去爬树!行吗?给我分吧!
^_^
这也是你的想法,我也想不出有更好的办法了
给一个定时器给mouse,让它定时接收所处位置的信息
判断是否有窗体控件
若有
读取控件类型
再大喊,“你这个东东,这领空可不是你的!”
没有呢
当然放心去滚,还可以放松心情去爬树!行吗?给我分吧!
^_^
这也是你的想法,我也想不出有更好的办法了
不过你可到“同样的问题"说句话,我将那30分也给你
好好听听前辈的意见
1、有?那最简单,直接响应就行了。
2、没有?那是我记混了。可以用 GetCapture() ReleaseCapture() 自己实现 OnMouseEnter,不过有点麻烦。要是有很多控件,还是换个方法。
3、让每个控件对 OnMouseMove 响应,响应函数仅仅是把这一消息通知给主窗口,并带上自己的信息。不知还有没有更简单的方法,我对 VB 仅仅知道皮毛。
OnTimer
GetMousePosition
转换成客户坐标
计算出在那个控件子窗口上
取得该子窗口的窗口类
根据该窗口类判断是什么类型的
End
不知控件的ToolTipText怎么做出来的
mouse一到它就反应了
知道它的原理一切都OK
各位说是不是?
大家都试试吧
弄明白做个DLL可是很有用的。
做好了用到VB可能行吧
嘿嘿嘿...
所以我认为这个问题最好,也是最笨的方法还是回到老路上去,每个控件都必须有GotFocus事件,不然实在是很难解决。
水如烟“大姐”你赶紧把你的思路贴出来,看看是不是只有这样象你所说的方法一种解决方法。
先供你们参考,好拿分:
一、听说VB6想淘汰Data,推崇Adodc,可是,Data的功能Adoc真的全部具备吗?
二、对数据库,为什么要ADO和DAO一起上,就用其一能否实现全部所需?
如果不计较系统开销,可这样简单想
1、来一个Timer,一个时间间隔调用一个Function
2、Functon
记下mouse位置;
调用Screen.ActiveContrl属性;
让mouse在指定的Form空白处click一下,得到Controll
判断Controll
恢复mouse原位置
End Function
上面想法是的基础是控件先得到焦点,
要是老鼠只在控件上空,就没辙了。
领空的问题开始不是说过了吗,再加一个TIMER,不过领空解决,获得焦点就顺带解决了。
OnTimer
GetMousePosition
转换成客户坐标
计算出在那个控件子窗口上
取得该子窗口的窗口类
根据该窗口类判断是什么类型的
End
你说加TIMER还是慢啊。
领空的问题开始不是说过了吗,再加一个TIMER,不过领空解决,获得焦点就顺带解决了。
OnTimer
GetMousePosition
转换成客户坐标
计算出在那个控件子窗口上
取得该子窗口的窗口类
根据该窗口类判断是什么类型的
End
你说加TIMER还是慢啊。
因此不知有比Timer更好的办法。
谢谢。
我的那个笨法倒是不用。
不过我没试过,应该行的,
我就看看有没有更好的办法。
API,用哪个Fun,Sub?