vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Maus & Tastatur22.03.05
LoadCursor-Funktion

Diese Funktion lädt einen Systemmauscursor.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  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:
hInstanceErwartet das Handle der aktuellen Anwendung.
lpCursorNameErwartet 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

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.