JavaScript Editor js editor     Web development 

Main Page

Occurs when the user moves the mouse over an object.

PROCEDURE Object.MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord


You must include an LPARAMETERS or PARAMETERS statement in the event procedure and specify a name for each parameter. Visual FoxPro passes the MouseMove event parameters in the following order:


Contains a number that specifies which mouse button was being held down as the mouse was moved, as listed in the following table: Mouse button values for nButton

Windows nButton Value

Left mouse button


Right mouse button


Middle mouse button


If more than one mouse button is held down as the mouse is moved, nButton contains the sum of the values for the mouse buttons. For example, if both the left and right mouse buttons are pressed, the value of nButton is 3.

Contains a number specifying the state of modifier keys when the mouse is moved. In Visual FoxPro for Windows, the valid modifier keys are the SHIFT, CTRL, and ALT keys. The values returned in nShift for individual modifier keys are listed in the following table. Modifier key values for nShift

Windows key Value







If more than one modifier key is held down when the mouse is pressed, the nShift argument contains the sum of the values for the modifier keys. For example, in Visual FoxPro for Windows, if the user holds CTRL while pressing the mouse button, the nShift argument contains 2. But if the user holds CTRL+ALT while pressing the mouse button, the nShift argument contains 6.
nXCoord, nYCoord

Contains the current horizontal (nXCoord) and vertical (nYCoord) position of the mouse pointer within the form. These coordinates are always expressed in terms of the form's coordinate system, in the unit of measurement specified in the ScaleMode property setting.

The MouseMove event is triggered continually as the mouse pointer moves across objects.

You can use MouseDown and MouseUp events to respond to events caused by pressing and releasing mouse buttons. The nButton parameter for MouseMove differs from the nButton parameter for MouseDown and MouseUp. For MouseMove, the nButton parameter indicates the current state of all buttons; a single MouseMove event can indicate that some, all, or no buttons are pressed. For MouseDown or MouseUp, the nButton parameter indicates exactly one button per event. Avoid moving a window inside a MouseMove event procedure; it can cause cascading events and generate run-time errors, such as a stack overflow. MouseMove events are triggered when the window moves underneath the pointer. A MouseMove event can be triggered even if the mouse is stationary.


See Also

JavaScript Editor js editor     Web development