Rubrik: Maus & Tastatur | 22.03.05 |
LoadCursor-Funktion Diese Funktion lädt einen Systemmauscursor. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 11.075 |
Deklaration:
Declare Function LoadCursor Lib "user32.dll" _ Alias "LoadCursorA" ( _ ByVal hInstance As Long, _ ByVal lpCursorName As Any) As Long
Beschreibung:
Diese Funktion lädt einen Systemmauscursor.
Parameter:
hInstance | Erwartet das Handle der aktuellen Anwendung. |
lpCursorName | Erwartet eine Konstante die beschreibt, welcher Standard Systemcursor geladen werden soll. |
lpCursorName Konstanten:
Const IDC_APPSTARTING = 32650& ' Pfeil und Sanduhr Const IDC_ARROW = 32512& ' Standard-Pfeil Const IDC_CROSS = 32515& ' Kreuz Const IDC_IBEAM = 32513& ' Textmarker Const IDC_ICON = 32641& ' (Win NT) Leerer Cursor Const IDC_NO = 32648& ' Drag & Drop Symbol "Nicht ablegen" Const IDC_SIZE = 32640& ' (Win NT) Verschiebe / Vergrößer-Cursor in alle vier Richtungen Const IDC_SIZEALL = 32646& ' Verschiebe / Vergrößer-Cursor in alle vier Richtungen Const IDC_SIZENESW = 32643& ' Verschiebe / Vergrößer-Cursor links-oben und rechts-unten Const IDC_SIZEWE = 32644& ' Verschiebe / Vergrößer-Cursor links und rechts Const IDC_UPARROW = 32516& ' Pfeil hoch Const IDC_WAIT = 32514& ' Sanduhr
Rückgabewert:
Ist die Funktion erfolgreich, so gibt sie das Handle des geladenen Cursors zurück, andernfalls wird derWert "0" zurückgegeben.
Beispiel:
Private Declare Function LoadCursor Lib "user32.dll" _ Alias "LoadCursorA" ( _ ByVal hInstance As Long, _ ByVal lpCursorName As Any) As Long Private Declare Function GetCursor Lib "user32.dll" () 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 DestroyCursor Lib "user32.dll" ( _ ByVal hCursor As Long) As Long Private Const GCW_HCURSOR = (-12) ' LoadCursor lpCursorName-Konstanten Private Const IDC_APPSTARTING = 32650& ' Pfeil und Sanduhr Private Const IDC_ARROW = 32512& ' Standard-Pfeil Private Const IDC_CROSS = 32515& ' Kreuz Private Const IDC_IBEAM = 32513& ' Textmarker Private Const IDC_ICON = 32641& ' (Win NT) Leerer Cursor Private Const IDC_NO = 32648& ' Drag & Drop Symbol "Nicht ablegen" Private Const IDC_SIZE = 32640& ' (Win NT) Verschiebe / Vergrößer-Cursor in ' alle vier Richtungen Private Const IDC_SIZEALL = 32646& ' Verschiebe / Vergrößer-Cursor in alle ' vier Richtungen Private Const IDC_SIZENESW = 32643& ' Verschiebe / Vergrößer-Cursor links-oben ' und rechts-unten Private Const IDC_SIZEWE = 32644& ' Verschiebe / Vergrößer-Cursor links und rechts Private Const IDC_UPARROW = 32516& ' Pfeil hoch Private Const IDC_WAIT = 32514& ' Sanduhr Dim hCur As Long, hCurOld As Long
' Kreuz als Standard-Cursor im Fenster anzeigen Private Sub Form_Activate() Dim Retval As Long ' Aktuellen Cursor ermitteln hCurOld = GetCursor ' Neuen Cursor laden hCur = LoadCursor(0&, IDC_CROSS) ' Cursor zuweisen Retval = SetClassLong(Me.hwnd, GCW_HCURSOR, hCur) End Sub
' erstellten Cursor löschen und alten wiederherstellen Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim Retval As Long ' Alten Cursor wiederherstellen Retval = SetClassLong(Me.hwnd, GCW_HCURSOR, hCurOld) ' erstellten Cursor entfernen Retval = DestroyCursor(hCur) End Sub