Неизвестно по какой причине, но в свойствах формы или элемента управления нельзя использовать анимированные курсоры (ani). При попытке присваивания свойству Mouse Pointer курсора ani Вы тут же получите сообщение об ошибке.
Но использовать их можно. Для этого нам придется применить функцию SetClassLong. В этом нет ничего страшного. Не важно, что Вы программируете на VB все равно у Вас есть обычные окна, а у этого окна структура, в которой описаны всякие свойства, в том числе и какой у окна курсор. Подробнее читайте "Шаг 4 - Окно Windows на С", там описано как вообще создается окно. О самой структуре можете прочитать в "N/A". Тот же самый подход применяют и разработчики на MFC, смотрите "N/A". Итак, нам нужно эту функцию описать. Подробности описания читайте в "N/A". Мы опишем еще и функцию LoadCursorFromFile для того, чтобы прочитать курсор из файла.
' изменения в классе окна 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 LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal IpFileName As String) As Long
Ну и применим их для наших нужд. В момент загрузки формы:
Private Sub Form_Load() Dim hCursor As Long hCursor = LoadCursorFromFile("d:/vb/1/Globe.ani") hOldCursor = SetClassLong(Form1.hwnd, -12, hCursor) End Sub
Это странное число -12 указывает на то, какая запись меняется в структуре, для курсора -12. И теперь на форме у нас будет курсор с анимацией.