Private Declare Function alxSetCursor Lib "user32" Alias "SetCursor" (ByVal hCursor As Long) As Long '将指定的鼠标指针设为当前指针 Private Declare Function alxGetCursor Lib "user32" Alias "GetCursor" () As Long '获取目前选择的鼠标指针的句柄
Private Declare Function CopyCursor Lib "user32" Alias "CopyIcon" (ByVal hcur As Long) As Long Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpstrCurFile As String) As Long Private Declare Function GetCursor Lib "user32" () As Long Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, ByVal id As Long) As Long Private Const OCR_NORMAL = 32512
Dim lngMyCursor As Long Dim lngSystemCursor As Long
Private Sub cmdMyCursor_Click() '更改指针样式 Dim strCurFile As String strCurFile = CurrentProject.Path + "/Cursor.cur" '可随意调用其他的.cur鼠标样式文件,以达到显示各种指针的目的 lngMyCursor = LoadCursorFromFile(strCurFile) lngSystemCursor = GetCursor() lngSystemCursor = CopyCursor(lngSystemCursor) SetSystemCursor lngMyCursor, OCR_NORMAL Text1.SetFocus Text1.Text = "鼠标指针已经设定为您要的状态" cmdMyCursor.Enabled = False cmdSystemCursor.Enabled = True End Sub
Private Sub cmdSystemCursor_Click() '恢复系统指针样式 SetSystemCursor lngSystemCursor, OCR_NORMAL Text1.SetFocus Text1.Text = "鼠标指针已经恢复为系统状态" cmdMyCursor.Enabled = True cmdSystemCursor.Enabled = False lngSystemCursor = 0 End Sub
Private Sub Form_Close() If lngSystemCursor <> 0 Then SetSystemCursor lngSystemCursor, OCR_NORMAL End Sub
Private Sub Form_Unload(Cancel As Integer) If lngSystemCursor <> 0 Then SetSystemCursor lngSystemCursor, OCR_NORMAL End Sub