Главная страницаОбратная связьКарта сайта

Использование анимационного курсора



'Добавьте 2 CommandButton на форму

'ПРИМЕР 1
Const GCL_HCURSOR = -12
Private Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Private Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Any) As Long
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Dim lResult As Long
Dim mhAniCursor As Long
Dim mhAniCursor2 As Long

Private Sub Command1_Click()
'Replace 'C:\windows\cursors\hourglas.ani' With your ANI Cursor
mhAniCursor = LoadCursorFromFile("C:\windows\cursors\hourglas.ani")
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhAniCursor)
End Sub

Private Sub Command2_Click()
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhBaseCursor)
lResult = DestroyCursor(mhAniCursor)
End Sub

Private Sub Form_Load()
mhBaseCursor = GetClassLong((hwnd), GCL_HCURSOR)
End Sub

Private Sub Form_Unload(Cancel As Integer)
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhBaseCursor)
lResult = DestroyCursor(mhAniCursor)
End Sub

'ПРИМЕР 2
Private Declare Function CopyCursor Lib "user32" Alias "CopyIcon" (ByVal hcur As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, ByVal id As Long) As Long
Private Const OCR_NORMAL = 32512
Dim hCursor As Long, hOldCursor As Long

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lRet As Long, a As String, hInstance As Long, hImage As Long

If hCursor = 0 Then
'укажите правильную директорию Windows
a = "c:\win\cursors\" & Dir$("c:\win\cursors\*.ani")
hCursor = LoadCursorFromFile(a)
If hCursor Then
lRet = GetCursor()
hOldCursor = CopyCursor(lRet)
lRet = SetSystemCursor(hCursor, OCR_NORMAL)
End If
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim lRet As Long
If hCursor Then
lRet = SetSystemCursor(hOldCursor, OCR_NORMAL)
End If
End Sub


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Использование анимационного курсора", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info