VBA-Programmierung in Microsoft Excel

Tutorial: Die Dialoge

MouseMove-Ereignis

Tritt ein, wenn der Benutzer die Maus bewegt.

Syntax

Für die Steuerelemente Multiseiten und Register (MultiPage und TabStrip)
Private Sub object_MouseMove( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Für andere Steuerelemente
Private Sub object_MouseMove( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Die Syntax für das MouseMove-Ereignis besteht aus folgenden Teilen:

Teil Beschreibung
object Erforderlich. Ein gültiger Objektname.
index Erforderlich. Der Index der Seite oder der Registerkarte in einem Multiseiten-Steuerelement oder Register-Steuerelement, das diesem Ereignis zugeordnet ist.
Button Erforderlich. Ein Wert einer ganzen Zahl, der den Zustand der Maustasten kennzeichnet.
Shift Erforderlich. Gibt den Zustand der Tasten UMSCHALT, STRG und ALT an.
X, Y Erforderlich. Die horizontale oder vertikale Position in Punkten vom linken oder oberen Rand des Steuerelements aus gemessen.

Einstellungen

Das index-Argument gibt an, über welcher Seite oder Registerkarte geklickt wurde. Der Wert -1 gibt an, dass der Benutzer auf keine der Seiten oder Registerkarten geklickt hat.

Die Einstellungen für Button sind:

Wert Beschreibung
0 Es wurde keine Maustaste gedrückt.
1 Die linke Maustaste wurde gedrückt.
2 Die rechte Maustaste wurde gedrückt.
3 Die rechte und die linke Maustaste wurden gedrückt.
4 Die mittlere Maustaste wurde gedrückt.
5 Die mittlere und die linke Maustaste wurden gedrückt.
6 Die mittlere und die rechte Maustaste wurden gedrückt.
7 Alle drei Maustasten wurden gedrückt.

Die Einstellungen für Shift sind:

Wert Beschreibung
1 UMSCHALT wurde gedrückt.
2 STRG wurde gedrückt.
3 UMSCHALT und STRG wurden gedrückt.
4 ALT wurde gedrückt.
5 ALT und UMSCHALT wurden gedrückt.
6 ALT und STRG wurden gedrückt.
7 ALT, UMSCHALT und STRG wurden gedrückt.

Sie können einzelne Zustandstasten erkennen, indem Sie die folgenden Konstanten verwenden:

Konstante Wert Beschreibung
fmShiftMask 1 Maske zum Erkennen von UMSCHALT.
fmCtrlMask 2 Maske zum Erkennen von STRG.
fmAltMask 4 Maske zum Erkennen von ALT.

Hinweise

Das MouseMove-Ereignis bezieht sich auf Formulare, Steuerelemente in einem Formular und Bezeichnungsfelder.

MouseMove-Ereignisse werden fortlaufend ausgelöst, während sich der Mauszeiger über Objekte bewegt. Solange kein anderes Objekt die Maus "gefangen" hat, erkennt ein Objekt ein MouseMove-Ereignis immer dann, wenn die Maus sich innerhalb der zugehörigen Begrenzung befindet.

Das Verschieben eines Formulars kann auch ein MouseMove-Ereignis auslösen, sogar wenn die Maus nicht bewegt wird. MouseMove-Ereignisse werden ausgelöst, wenn das Formular unter dem Mauszeiger verschoben wird. Wenn ein Makro oder eine Ereignisprozedur ein Formular als Reaktion auf ein MouseMove-Ereignis verschiebt, kann das Ereignis fortlaufend MouseMove-Ereignisse (eine Ereigniskette) auslösen.

Wenn sich zwei Steuerelemente sehr nah beieinander befinden und Sie den Mauszeiger schnell über den Zwischenraum bewegen, kann es sein, dass das MouseMove-Ereignis für diesen Zwischenraum nicht eintritt. In diesem Fall müssen Sie möglicherweise in beiden Steuerelementen auf das MouseMove-Ereignis reagieren.

Sie können den Wert verwenden, der im Button-Argument zurückgegeben wird, um den Zustand der Maustasten zu erkennen.

Verwenden Sie das Shift-Argument, um den Zustand von UMSCHALT, STRG und ALT zu erkennen, wenn das MouseMove-Ereignis eingetreten ist. Wenn z.B. sowohl STRG als auch ALT gedrückt sind, hat Shift den Wert 6.

Anmerkung   Sie können MouseDown- und MouseUp-Ereignisprozeduren verwenden, um auf Ereignisse zu reagieren, die durch das Drücken und Loslassen von Maustasten ausgelöst wurden.