Hej
Jeg roder lidt med at sætte en anden cursor på ved visse hændelser i både
vb5.0 og access2000
Jeg bruger nedenstående kode indsat i et modul:
'''kode start''''
Option Compare Database
Option Explicit
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 Declare Function GetCursor Lib "user32" () As Long
Private Declare Function CopyIcon Lib "user32" (ByVal hcur As Long) As Long
Public lngOldCursor As Long
Public lngNewCursor As Long
Public Const OCR_NORMAL = 32512
Public Sub StartAnimatedCursor(AniFilePath As String)
On Error Resume Next
'Create a copy of the current cursor,
'for Windows NT compatibility
lngOldCursor = CopyIcon(GetCursor())
'Check the passed string, if it contains
'a solid file path, then load the cursor
'from file. If not, add the App.Path,
'*then* load cursor...
If InStr(1, AniFilePath, "\") Then
lngNewCursor = LoadCursorFromFile(AniFilePath)
Else
lngNewCursor = LoadCursorFromFile(AniFilePath)
End If
'Activate the cursor
SetSystemCursor lngNewCursor, OCR_NORMAL
End Sub
Public Sub RestoreLastCursor()
On Error Resume Next
'Restore last cursor
SetSystemCursor lngOldCursor, OCR_NORMAL
End Sub
'''''''''følgende kode kaldes
function testitop()
StartAnimatedCursor app.Path & "\dom.ico"
end function
function testitned()
RestoreLastCursor
end function
----------------------------------------
Det fungerer fint - MEN når jeg kalder testitned kommer
jeg ikke tilbage til den cursor jeg havde, jeg kommer tilbage til en
"almindelig hvid pil pegende
skråt op til venstre, altså helt standard.
Jeg havde jo forventet at komme tilbage til den cursor der var inden jeg
kørte testitop,
og det vil sige den cursor stammende fra det skrivebordstema jeg
tilfældigvis nu har på.
Er der nogen der har prøvet denne kode og som har et bud på at komme tilbage
til det man havde?
VH AZ
|