一个关于鼠标指针的问题!

明镜台2014 2003-10-17 10:03:13
我现在要实现鼠标移动到Label上面就变成手型,一离开Label就恢复原型,
前面好做,用Label里面的Mouse_Over()函数,
但鼠标离开的时候呢,好象没有这个函数把?请大虾帮忙!
...全文
67 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
明镜台2014 2003-10-21
  • 打赏
  • 举报
回复
原來直接設置Label的屬性就可以拉﹗
我一直在用Screen.MousePointer呢﹐呵呵。
謝謝各位。。
easydone 2003-10-19
  • 打赏
  • 举报
回复
设置Label的MousePointer和MouseIcon属性就可以了。
CloneCenter 2003-10-18
  • 打赏
  • 举报
回复
用一楼的办法不就可以达到目的了吗?
goodname008 2003-10-18
  • 打赏
  • 举报
回复
SetCapture

VB声明
Declare Function SetCapture Lib "user32" Alias "SetCapture" (ByVal hwnd As Long) As Long
说明
将鼠标捕获设置到指定的窗口。在鼠标按钮按下的时候,这个窗口会为当前应用程序或整个系统接收所有鼠标输入
返回值
Long,之前拥有鼠标捕获的窗口的句柄
参数表
参数 类型及说明
hwnd Long,要接收所有鼠标输入的窗口的句柄
注解
我的理解:与ReleaseCapture函数一起使用,用于判断鼠标离开(mouseleave)事件



ReleaseCapture

VB声明
Declare Function ReleaseCapture Lib "user32" Alias "ReleaseCapture" () As Long
说明
为当前的应用程序释放鼠标捕获
返回值
Long,TRUE(非零)表示成功,零表示失败
注解
我的理解:与SetCapture函数一起使用,用于判断鼠标离开(mouseleave)事件

goodname008 2003-10-18
  • 打赏
  • 举报
回复
Option Explicit
Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
SetCapture Command1.hwnd
If X < 0 Or X > Command1.Width Or Y < 0 Or Y > Command1.Height Then
Debug.Print "鼠标已离开"
ReleaseCapture
End If
End Sub
kmzs 2003-10-18
  • 打赏
  • 举报
回复
只要进入了其他的控件不就是Mouse_Out(),我就是这么做的,烦死了!!!没有属性可以硬来,没有事件有时一点办法也没有
明镜台2014 2003-10-18
  • 打赏
  • 举报
回复
重新申明問題﹕
鼠標移動到一個控件上面用Mouse_Over(),
怎么樣判斷鼠標移開了一個控件??

goodname008(卢培培,LPP Software)怎么用鼠標位置判斷﹐
能否說明白一點﹐分不夠再加﹗﹗
阿建像熊猫 2003-10-18
  • 打赏
  • 举报
回复
MousePointer 常数


VtMousePointer 常数提供了以下光标类型。

常数 描述
VtMousePointerArrow 箭头光标
VtMousePointerArrowHourGlass 箭头和沙漏
VtMousePointerArrowQuestion 箭头和问号
VtMousePointerCross 十字光标
VtMousePointerDefault 缺省的图表光标
VtMousePointerHourGlass 沙漏光标
VtMousePointerIbeam Ibeam 光标
VtMousePointerIcon 其中有一个小正方形的正方形光标
VtMousePointerNoDrop 禁止放下的光标
VtMousePointerSize 可调大小的箭头
VtMousePointerSizeAll 可任意方向调节大小的箭头
VtMousePointerSizeNESW 东北-西南方向的双箭头
VtMousePointerNS 南北向的双箭头
VtMousePointerNWSE 西北-东南方向的双箭头
VtMousePointerWE 东西向的双箭头
VtMousePointerUpArrow 向上箭头
goodname008 2003-10-17
  • 打赏
  • 举报
回复
VB中没有Mouse_Out,遗憾。
可以通过判断鼠标位置解决问题。

在.net中就有了。
明镜台2014 2003-10-17
  • 打赏
  • 举报
回复
大虾,这个我知道,
我不知道怎么判断鼠标是否离开了Label控件??
Label控件又没有什么Mouse_Out()函数??
goodname008 2003-10-17
  • 打赏
  • 举报
回复
' 设置Label的MousePointer和MouseIcon属性就可以了。

Option Explicit

Private Sub Form_Load()
Label1.MousePointer = vbCustom
Label1.MouseIcon = LoadPicture("手形图标路径及文件名")
End Sub

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧