Rectangle.MouseMove Event

Access Developer Reference

The MouseMove event occurs when the user moves the mouse.

Syntax

expression.MouseMove(Button, Shift, X, Y)

expression   A variable that represents a Rectangle object.

Parameters

Name Required/Optional Data Type Description
Button Required Integer The button that was pressed or released when the event was triggered. If you need to test for the Button argument, you can use one of the following intrinsic constants as bit masks: acLeftButton The bit mask for the left mouse button. acRightButton The bit mask for the right mouse button. acMiddleButton The bit mask for the middle mouse button.
Shift Required Integer The state of the SHIFT, CTRL, and ALT keys when the button specified by the Button argument was pressed or released. If you need to test for the Shift argument, you can use one of the following intrinsic constants as bit masks: acShiftMask The bit mask for the SHIFT key. acCtrlMask The bit mask for the CTRL key. acAltMask The bit mask for the ALT key.
X Required Single The x coordinate for the current location of the mouse pointer, in twips.
Y Required Single The y coordinate for the current location of the mouse pointer, in twips.

Remarks

  • The MouseMove event applies only to forms, form sections , and controls on a form, not controls on a report.
  • This event does not apply to a label attached to another control, such as the label for a text box. It applies only to "freestanding" labels. Pressing and releasing a mouse button in an attached label has the same effect as pressing and releasing the button in the associated control. The normal events for the control occur; no separate events occur for the attached label.

To run a macro or event procedure when these events occur, set the OnMouseMove property to the name of the macro or to [Event Procedure].

The MouseMove event is generated continually as the mouse pointer moves over objects. Unless another object generates a mouse event, an object recognizes a MouseMove event whenever the mouse pointer is positioned within its borders.

To cause a MouseMove event for a form to occur, move the mouse pointer over a blank area, record selector, or scroll bar on the form. To cause a MouseMove event for a form section to occur, move the mouse pointer over a blank area of the form section.

To respond to an event caused by moving the mouse, you use a MouseMove event.

Bb238586.vs_note(en-us,office.12).gif  Notes
  • Moving a form can trigger a MouseMove event even if the mouse is stationary. MouseMove events are generated when the form moves underneath the pointer. If a macro or event procedure moves a form in response to a MouseMove event, the event can cascade (that is, continually generate MouseMove events).
  • If two controls are very close together, and you move the mouse pointer quickly over the space between them, the MouseMove event may not occur for the space (for example, this might be the MouseMove event for the form section). In such cases, you may need to respond to the MouseMove event in the contiguous control, as well as in the form section.

To run a macro or event procedure in response to pressing and releasing the mouse buttons, you use the MouseDown and MouseUp events.

Example
The following example determines where the mouse is and whether the left mouse button and/or the SHIFT key is pressed. The x and y coordinates of the mouse pointer position are displayed in a label control as you move the mouse.

Visual Basic for Applications
  Private Sub Detail_MouseMove(Button As Integer, _
     Shift As Integer, X As Single, Y As Single)
    Dim intShiftDown As Integer, intLeftButton As Integer
Me!Coordinates.Caption = X & ", " & Y
' Use bit masks to determine state of
' SHIFT key and left button.
intShiftDown = Shift And acShiftMask
intLeftButton = Button And acLeftButton
' Check that SHIFT key and left button 
' are both pressed.
If intShiftDown And intLeftButton > 0 Then
    MsgBox "Shift key and left mouse button were pressed."
End If

End Sub