当用户在一个对象上移动鼠标时发生。
语法
PROCEDURE Object.MouseMove
[LPARAMETERS nIndex, nButton, nShift, nXCoord, nYCoord]
或者
LPARAMETERS nButton, nShift, nXCoord, nYCoord
参数
必须在事件过程中包含 LPARAMETERS 或 PARAMETERS
语句,并且为每个参数指定一个名称。Visual FoxPro 按下列顺序把 5 个参数或 4 个参数传送给 mousemove 事件。
nIndex
存放一个数,它唯一标识控制数组中的一个控制。仅当控制是控制数组的一部分时,才传送 nIndex 参数。
nButton
存放一个数,它以位总和的形式指定鼠标键的状态。如下表所示:
对 nButton 的鼠标按钮值
Windows | nButton 值 |
左鼠标键 | 1 |
右鼠标键 | 2 |
中鼠标键 | 4 |
nShift
存放一个数,它指定在 燰isual FoxPro for Windows 中移动鼠标时, SHIFT,CTRL,和 ALT 键的状态。
下表列出了单独修改键在 nShift 中返回的值。
nShift 的修改键值
Windows 键 | 值 |
SHIFT | 1 |
CTRL | 2 |
ALT | 4 |
nXCoord, nYCoord
存放表单中鼠标指针当前的水平 (nXCoord) 和垂直 (nYCoord)位置。这些坐标总是以 ScaleMode 属性的设置值为度量单位,按照指定的表单坐标系统表达的。
当鼠标指针在对象之间移动时,连续触发 mousemove 事件。
附注
可以用 MouseDown 和 MouseUp 事件响应由按下和释放鼠标键引起的事件。
MouseMove 使用的 nButton 参数与 MouseDown 和 MouseUp 使用的 nButton 参数不同。对于 MouseMove,nButton 参数表明了所有键的当前状态;一个单独的 mousemove 事件可以表明部分、全部或没有按下任何键;对于 MouseDown 或 MouseUp,每个事件中 nButton 参数确切地指明一个键。
要避免在 mousemove 事件过程中移动一个窗口,这会引起级联事件并产生运行错误,例如堆栈溢出。当窗口在指针下移动时会触发 mousemove 事件。这样即使鼠标静止时也会触发一个 mousemove 事件。