实现金山快译工具条的自动收缩功能

使用了二个API

GetCursorPoslpPoint As POINTAPI as Long

ScreenToClientByVal hwnd As Long, lpPoint As POINTAPI as Long

这两个API是用来实现“金山快译”的自动收缩效果的。
'最重要的是判断鼠标的位置是否在窗体中的事件,如下:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Isout = False             
Me.Top = 0               
Do While Isout = False     
'然后通过循环来判断,直到移出标志为True
    GetCursorPos MyPoint          
'获得当前鼠标位置,并放在结构MyPoint,单位为象素
    ScreenToClient Me.hwnd, MyPoint     
'使结构的坐标成为对应程序中的坐标
    If MyPoint.x < 0 Or MyPoint.y < -10 Or _
             MyPoint.x > Me.Width / 15 Or MyPoint.y > Me.Height / 15 Then     

'统一转化为象素后比较(横坐标小于0或大于窗体宽,纵坐标小于-10或大于窗体高)
'如果条件成立则表示已经不在窗体内,这里纵坐标不要写成MyPoint.y<0,因为尽管窗体的To
p =0 紧贴在窗体顶部,但是单单小于0还是可以让鼠标划得到,(-10)则无论如何也不可能点
'得到了.
        Isout = True                   
'置标志为True
        Me.Top = Int(-0.8 * Me.Height)  
'再次隐藏
        Exit Sub                        
'退出过程
    End If
    DoEvents                       
'要记得交还控制权给系统
Loop
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值