vb中关于类模块的简单问题~

c51vsarm 2011-12-26 07:04:03
Option Explicit
'DIYMouse类

'获取鼠标指针在屏幕上的坐标
Private Declare Function GetCursorPos Lib "user32" (lpPoint As PointAPI) As Long
'设置鼠标指针在屏幕上的坐标
Private Declare Function SetCursorPos Lib "user32" (ByVal sPointX As Long, ByVal _
sPointY As Long) As Long
'鼠标事件
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx _
As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Const MouseEventF_LeftDown = &H2 '左键按下
Private Const MouseEventF_LeftUp = &H4 '左键抬起
Private Const MouseEventF_MiddleDown = &H20 '中键按下
Private Const MouseEventF_MiddleUp = &H40 '中键抬起
Private Const MouseEventF_Move = &H1 '鼠标移动
Private Const MouseEventF_RightDown = &H8 '右键按下
Private Const MOUSEEVENTF_RightUp = &H10 '右键抬起
Private Const MouseEventF_ABSOLUTE = &H8000 'dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元

'PointAPI数据类型
Private Type PointAPI
X As Long '鼠标指针位置的横坐标(单位:像素)
Y As Long '鼠标指针位置的纵坐标(单位:像素)
End Type

Dim lResult As Long '临时存储执行结果
Dim lpPoint As PointAPI '指针类型
Dim lpEnabled As Boolean '是否启用鼠标状态检测事件(MouseMove事件、MouseClick事件)
'功能待定
'Public Event GetClicked(Button As Integer, Shift As Integer, X As Single, Y As Single) '检测到鼠标事件

'指针跳转到屏幕的位置
Public Sub PointGoto(x1, y1)
Call SetCursorPos(x1, y1) '调用SetCursorPos函数
End Sub

'单击左键
Public Sub LeftClick()
Call mouse_event(MouseEventF_LeftDown, 0, 0, 0, 0) '按下左键
Call mouse_event(MouseEventF_LeftUp, 0, 0, 0, 0) '抬起左键
End Sub

'单击右键
Public Sub RightClick()
Call mouse_event(MouseEventF_RightDown, 0, 0, 0, 0) '按下右键
Call mouse_event(MOUSEEVENTF_RightUp, 0, 0, 0, 0) '抬起右键
End Sub

'单击中键
Public Sub MiddleClick()
Call mouse_event(MouseEventF_MiddleDown, 0, 0, 0, 0) '按下中键
Call mouse_event(MouseEventF_MiddleUp, 0, 0, 0, 0) '抬起中键
End Sub

'双击左键
Public Sub DoubleClick(x1, y1)
Call LeftClick '首次单击左键
Call LeftClick '再次单击左键
End Sub

'左键按下
Public Sub LeftDown()
Call mouse_event(MouseEventF_LeftDown, 0, 0, 0, 0) '按下左键
End Sub

'左键抬起
Public Sub LeftUp()
Call mouse_event(MouseEventF_LeftUp, 0, 0, 0, 0) '抬起左键
End Sub

'右键按下
Public Sub RightDown()
Call mouse_event(MouseEventF_RightDown, 0, 0, 0, 0) '按下右键
End Sub

'右键抬起
Public Sub RightUp()
Call mouse_event(MOUSEEVENTF_RightUp, 0, 0, 0, 0) '抬起右键
End Sub

'中键按下
Public Sub MiddleDown()
Call mouse_event(MouseEventF_MiddleDown, 0, 0, 0, 0) '按下中键
End Sub

'中键抬起
Public Sub MiddleUp()
Call mouse_event(MouseEventF_MiddleUp, 0, 0, 0, 0) '抬起中键
End Sub

'指针横坐标
Public Property Get CurrentX() As Long
lResult = GetCursorPos(lpPoint) '调用GetCursorPos函数
CurrentX = lpPoint.X '返回指针横坐标
End Property

'指针纵坐标
Public Property Get CurrentY() As Long
lResult = GetCursorPos(lpPoint) '调用GetCursorPos函数
CurrentY = lpPoint.Y '返回指针纵坐标
End Property

'是否启动检测功能
Public Property Get Enabled() As Boolean
Enabled = lpEnabled
End Property
Public Property Let Enabled(slpEnabled As Boolean)
lpEnabled = slpEnabled
End Property

最后那两段到底什么意思?怎么用的??
'是否启动检测功能
Public Property Get Enabled() As Boolean
Enabled = lpEnabled
End Property
Public Property Let Enabled(slpEnabled As Boolean)
lpEnabled = slpEnabled
End Property
...全文
116 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,486

社区成员

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

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