1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:
Wenn man in Access-Formularen den Mouse Cursor verändern will sind einem
ganz schnell Grenzen gesetzt.
Entweder man setzt ein Stundenglas (Eieruhr) mittels dem DoCmd-Objektes:

DoCmd.Hourglass True

oder man greift auf das Screenobjekt zurück. Aber auch hier ist nicht viel möglich. (mehr s. OH)

Screen.MousePointer = 11

Jetzt möchte ich aber z.B. eine Hand als Cursor erscheinen lassen wenn die Maus über
ein Button fährt oder die Hand soll erscheinen wenn ich über ein Bild fahre um anzuzeigen
das sich ein Link dahinter befindet.

Button herkömmlich:

 

Button mit Hand-Cursor:

Wie geht das aber? Lösung folgt.

Voraussetzungen:
Das Bsp ist ab A00 lauffähig.

Funktionsweise:
Die Lösung beruht auf API-Funktionen. Das funktioniert auch unter Vista.
Private Const IDC_HAND As Long = 32649
Private Const IDC_ARROW As Long = 32512
Private Const GCL_HCURSOR = -12
Private Declare Function LoadCursor _
    Lib "user32" _
    Alias "LoadCursorA" ( _
    ByVal hInstance As Long, _
    ByVal lpCursorName As Long) As Long
Private Declare Function SetClassLong _
    Lib "user32" _
    Alias "SetClassLongA" ( _
    ByVal hwnd As Long, _
    ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long
Dim blnIsHand As Boolean
Dann sind noch 2 Sub's erforderlich. Die erste zum setzten des Cursors (MouseMove-Ereignis des Controls)
Sub SetHandCursor()
  Dim hHandCursor As Long
  Dim R As Long

  On Error Resume Next
  If blnIsHand Then Exit Sub

  hHandCursor = LoadCursor(ByVal 0&, IDC_HAND)
  R = SetClassLong(Me.hwnd, GCL_HCURSOR, hHandCursor)
  DoEvents

  blnIsHand = True

End Sub
'Die zweite zum setzten des normalen Cursors (MouseMove-Ereignis des Detailbereiches)
Sub RemoveHandCursor()
  Dim R As Long
  Dim hArrowCursor As Long

  On Error Resume Next

  If Not blnIsHand Then Exit Sub

  hArrowCursor = LoadCursor(ByVal 0&, IDC_ARROW)
  R = SetClassLong(Me.hwnd, GCL_HCURSOR, _
                   hArrowCursor)
  DoEvents
  
  blnIsHand = False

End Sub
Alles weitere in der Bsp-DB. 
 

Dateien:
Hand-Cursor in Formularen anzeigen

ab A00

Die Zip-Datei enthält ein Version ab A00

Datum 05.02.2018
Dateigröße 50.6 KB
Download 992


Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool "SmartTools SQL aus Abfragen 3.0"...
1.png2.png1.png2.png4.png9.png2.png
Heute0
Gestern83
Diese Woche0
Dieser Monat1292
Total1212492

  • IP: 54.227.186.112
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

17. Dezember 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...