Add pizazz to your apps with an animated cursor

Add pizazz to your apps with an animated cursor

Who said you can’t use an animated cursor with Visual Basic? Actually, it’s so simple! You just have to load your animated cursor through LoadCursorFromFile API function, then you get the current cursor using GetCursor, and finally you can set your cursor using SetSystemCursor. This is all the code that you need:

Private Declare Function LoadCursorFromFile Lib "user32" Alias _    "LoadCursorFromFileA" (ByVal lpFileName As String) As LongPrivate Declare Function GetCursor Lib "user32" () As LongPrivate Declare Function CopyIcon Lib "user32" (ByVal hcur As Long) As LongPrivate Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, _    ByVal id As Long) As LongPrivate Const OCR_NORMAL = 32512Sub ALengthyTask()    Dim hNewCursor As Long    Dim hSavCursor As Long    ' create a copy of the current cursor - this is necessary    ' for the tip to work correctly under NT    hSavCursor = CopyIcon(GetCursor())    ' load a new cursor    hNewCursor = LoadCursorFromFile("h:winnt4cursorsappstart.ani")    ' make it the current cursor    SetSystemCursor hNewCursor, OCR_NORMAL    ' here goes your lengthy code    ' ...    ' (in this example we'll use a msgbox    MsgBox "Press OK to continue"    ' restore old cursor    SetSystemCursor hSavCursor, OCR_NORMALEnd Sub

UPDATE: Thanks to Kraehenbuehl Markus, who has pointed out that under Windows NT you must create a copy of the current cursor, using the CopyIcon API function. The above code has been updated following his suggestion.


Share the Post: