M ouseMove 事 件

M ouseMove 事 件 - 图1当用户在一个对象上移动鼠标时发生

语 法

PROCEDURE Ob ject. M ouse Mov e , [LPARAMETERS nInde x, nButton , nShift , nXCoord , nYCoord ]

– 或 者 –

LPARAMETERS nButton , nShift , nXCoord , nYCoord

参 数 描 述

M ouseMove 事 件 - 图2M ouseMove 事 件 - 图3M ouseMove 事 件 - 图4必须在事件过程中包含 LPARAMETERS 或 PARAMETERS 语句 并且为每个参数指定一个名称 Visual FoxPro 按下列顺序把 5 个参数中的 4 个传送给 MouseMove 事件nIndex

M ouseMove 事 件 - 图5M ouseMove 事 件 - 图6存 放 一 个 数 它 唯 一 标 识 控 件 数 组 中 的 一 个 控 件 仅 当 控 件 是 控 件 数 组 的 一 部

M ouseMove 事 件 - 图7M ouseMove 事 件 - 图8分 时 才 传 送 nIndex 参 数

nButton

M ouseMove 事 件 - 图9M ouseMove 事 件 - 图10M ouseMove 事 件 - 图11存 放 一 个 数 它 以 位 总 和 的 形 式 指 定 鼠 标 键 的 状 态 如 下 表 所 示

对 nButton 的 鼠 标 按 钮 值

W indows nButton Value

左鼠标键 1

右鼠标键 2

中鼠标键 4

M ouseMove 事 件 - 图12M ouseMove 事 件 - 图13M ouseMove 事 件 - 图14M ouseMove 事 件 - 图15M ouseMove 事 件 - 图16M ouseMove 事 件 - 图17M ouseMove 事 件 - 图18如果按下了一个键 则设置一个位 nButton 参数表明设置了哪个位 0 位相应于左鼠标键 1 位相应于右鼠标键 2 位相应于中鼠标键 对于三种情况 nButton 分别取值为 1

M ouseMove 事 件 - 图19M ouseMove 事 件 - 图20M ouseMove 事 件 - 图21M ouseMove 事 件 - 图22M ouseMove 事 件 - 图23M ouseMove 事 件 - 图24M ouseMove 事 件 - 图25M ouseMove 事 件 - 图26M ouseMove 事 件 - 图27M ouseMove 事 件 - 图28M ouseMove 事 件 - 图29M ouseMove 事 件 - 图30M ouseMove 事 件 - 图31M ouseMove 事 件 - 图32M ouseMove 事 件 - 图33M ouseMove 事 件 - 图342 4 它表明了鼠标键的各种状态 部分 全部 或不设置三个位 表明部分 全部或

没有鼠标键按下 可能的取值从 0 到 7

单个鼠标键相应于下列值

1 ( 左 )

2 ( 右 )

和 4

( 中 ) 例如 如果左和右鼠标键都按下了

nButton 的值为 3

nShift

存 放 一 个 数

它 指 定 在

Visual FoxPro for Windows 中 移 动 鼠 标 时

SHIFT

CTRL 和 ALT

键 的 状 态

M ouseMove 事 件 - 图35M ouseMove 事 件 - 图36M ouseMove 事 件 - 图37M ouseMove 事 件 - 图38M ouseMove 事 件 - 图39M ouseMove 事 件 - 图40下表列出了单独修改键在 nShift 中返回的值

nShift 的 修 改 键 值

W indows 键 值

SHIFT 1

CTRL 2

ALT 4

M ouseMove 事 件 - 图41M ouseMove 事 件 - 图42M ouseMove 事 件 - 图43M ouseMove 事 件 - 图44M ouseMove 事 件 - 图45M ouseMove 事 件 - 图46M ouseMove 事 件 - 图47M ouseMove 事 件 - 图48M ouseMove 事 件 - 图49M ouseMove 事 件 - 图50如果按下鼠标时 有多于一个的修改键也被按下 则 nShift 参数是这些 修改键 的和 例如 在 Visual FoxPro for Windows 中 如果按下 鼠标按钮时 也按下 CTRL 键 那么nShift 的值为 2 但是如果 CTRL 和 ALT 键全部按下 那么 nShift 的值为 6

nXCoord , nYCoord

M ouseMove 事 件 - 图51M ouseMove 事 件 - 图52M ouseMove 事 件 - 图53存 放 表 单 中 鼠 标 指 针 当 前 的 水 平 ( nXCoord) 和 垂 直 ( nYCoord) 位 置 这 些 坐 标总 是 以 Scale Mode 属 性 的 设 置 值 为 度 量 单 位 按 照 指 定 的 表 单 坐 标 系 统 表 达的

M ouseMove 事 件 - 图54M ouseMove 事 件 - 图55当鼠标指针在对象之间移动时 连续触发 MouseMove 事件

M ouseMove 事 件 - 图56注 意 可 以 用 MouseDown 和 MouseUp 事 件 响 应 由 按 下 和 释 放 鼠 标 键 引 起 的 事件

M ouse Move 使 用 的 nButton 参 数 与 M ouseDown 和 M ouseUp 使 用 的 nButton

M ouseMove 事 件 - 图57M ouseMove 事 件 - 图58参 数 不 同 对 于 M ouse Move nButton 参 数 表 明 了 所 有 键 的 当 前 状

M ouseMove 事 件 - 图59M ouseMove 事 件 - 图60M ouseMove 事 件 - 图61M ouseMove 事 件 - 图62M ouseMove 事 件 - 图63态 一 个 单 独 的 M ouse Move 事 件 可 以 表 明 部 分 全 部 或 没 有 按 下 任 何键 对 于 M ouseDown 或 M ouseUp 每 个 事 件 中 nButton 参 数 确 切 地 指明 一 个 键

M ouseMove 事 件 - 图64M ouseMove 事 件 - 图65M ouseMove 事 件 - 图66M ouseMove 事 件 - 图67M ouseMove 事 件 - 图68要 避 免 在 M ouse Move 事 件 过 程 中 移 动 一 个 窗 口 这 会 引 起 级 联 事 件 并 产 生运 行 错 误 例 如 堆 栈 溢 出 当 窗 口 在 指 针 下 移 动 时 会 触 发 M ouse Move 事 件 这 样 即 使 鼠 标 静 止 时 也 会 触 发 一 个 M ouse Move 事 件

应 用 于

M ouseMove 事 件 - 图69M ouseMove 事 件 - 图70M ouseMove 事 件 - 图71M ouseMove 事 件 - 图72M ouseMove 事 件 - 图73M ouseMove 事 件 - 图74M ouseMove 事 件 - 图75M ouseMove 事 件 - 图76M ouseMove 事 件 - 图77复选框 列 组合框 命令按钮 命令组 容器对象 控件对象 编辑框 表单 表

M ouseMove 事 件 - 图78M ouseMove 事 件 - 图79M ouseMove 事 件 - 图80M ouseMove 事 件 - 图81M ouseMove 事 件 - 图82M ouseMove 事 件 - 图83M ouseMove 事 件 - 图84M ouseMove 事 件 - 图85M ouseMove 事 件 - 图86M ouseMove 事 件 - 图87M ouseMove 事 件 - 图88M ouseMove 事 件 - 图89M ouseMove 事 件 - 图90格 标头 图像 标签 线条 列表框 选项按钮 选项组 页面 页框 形状 微调 文本框 工具栏

请 参 阅

Click 事 件 , DblClick 事 件 , M iddleClick 事 件 , M ousePointer 属 性 , M ouseDown

事 件 , M ouseUp 事 件 , M ouseWheel 事 件