Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Ishodniki.Ru » Online книги » Visual Basic по шагам

Шаг 66 - Использование анимационных курсоров

Неизвестно по какой причине, но в свойствах формы или элемента управления нельзя использовать анимированные курсоры (ani). При попытке присваивания свойству Mouse Pointer курсора ani Вы тут же получите сообщение об ошибке.

gif/66_1.gif (4378 b)

Но использовать их можно. Для этого нам придется применить функцию SetClassLong. В этом нет ничего страшного. Не важно, что Вы программируете на VB все равно у Вас есть обычные окна, а у этого окна структура, в которой описаны всякие свойства, в том числе и какой у окна курсор.  Итак, нам нужно эту функцию описать.  Мы опишем еще и функцию 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. И теперь на форме у нас будет курсор с анимацией.

gif/66_2.gif (2378 b)

 

Предыдущий шаг | Оглавление | Следующий шаг

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру