现在的位置: 首页 > 综合 > 正文

GetCursor和GetCursorPos的区别

2018年04月10日 ⁄ 综合 ⁄ 共 1078字 ⁄ 字号 评论关闭

GetCursor函数功能:该函数检取当前光标的句柄。
函数原型:HCURSOR GetCursor(VOID);
参数:无。
返回值:返回值是当前光标的句柄,如果没有光标,返回值为NULL。
以下代码将在form上画一个鼠标:
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long

Private Sub Form_Click()
DrawIcon Me.hdc, 0, 0, GetCursor
End Sub

GetCursorPos函数功能:该函数检取光标的位置,以屏幕坐标表示。
函数原型:BOOL GetCursorPos(LPPOlNT IpPoint);
参数:
IpPint:POINT结构指针,该结构接收光标的屏幕坐标。
使用时要先定义一个数据结构: Public Type POINTAPI
x As Long
y As Long
End Type
例如: dim biao as POINTAPI
GetCursorPos biao
那么biao.x用来存放当前光标的x轴坐标,biao.y用来存放当前y轴的坐标。
返回值:如果成功,返回值非零;如果失败,返回值为零。
以下例程将在鼠标点击处画一个圆:
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Sub Form_Click()
Dim Position As POINTAPI

GetCursorPos Position
    'Draw the Ellipse on the Screen's DC
    Ellipse GetWindowDC(0), Position.x - 5, Position.y - 5, Position.x + 5, Position.y + 5

End Sub

抱歉!评论已关闭.