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

Problemstellung:

Nur für 32Bit Office Versionen

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:

Nur für 32Bit Office Versionen

 
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 1.348


 

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen 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...
1.png5.png7.png9.png1.png7.png7.png
Heute209
Gestern486
Diese Woche1526
Dieser Monat7800
Total1579177

  • IP: 44.222.138.70
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

29. März 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...