OLEDragOver 事 件

OLEDragOver 事 件 - 图1OLEDragOver 事 件 - 图2当 数据 拖动到一个 放落目标 上 并且 放落目标 的 OLEDropMode 属性 设置为 1 – 启用时发生该事件

语 法

PROCEDURE Ob jec t.OLEDragOver LPARAMETERS oDataObject , nEffect , nButton , nShift ,

nXCoord , nYCoord , nState

参 数 描 述

oDataObject

OLEDragOver 事 件 - 图3OLEDragOver 事 件 - 图4对 OLE 拖 放 DataObject 的 一 个 对 象 引 用 同 GetData 和 GetFormat 方 法 一 起使 用 可 以 返 回 DataObject 中 的 数 据 和 数 据 格 式

nEffect

OLEDragOver 事 件 - 图5OLEDragOver 事 件 - 图6OLEDragOver 事 件 - 图7OLEDragOver 事 件 - 图8OLEDragOver 事 件 - 图9传 递 给 OLEGiveFeedback 事 件 的 一 个 值 表 明 当 数 据 放 落 到 目 标 上 时 采 取 的动 作 nEffect 的 初 始 值 表 明 拖 动 源 支 持 的 OLE 拖 放 操 作 下 表 列 出 了nEffect 的 值 以 及 每 种 动 作 的 说 明

nEffect Foxpro.h constant

  1. DROPEFFECT_ NONE

  2. DROPEFFECT_C OPY

  3. DROPEFFECT_ MOVE

4 DROPEFFECT_L INK

说 明

OLEDragOver 事 件 - 图10OLEDragOver 事 件 - 图11放落目标 不接受 数据 或者取消了 OLE 放 落 操作

OLEDragOver 事 件 - 图12OLEDragOver 事 件 - 图13OLEDragOver 事 件 - 图14数据从 拖动源 复制到 放落目标 中数据从 拖动源 移动到 放落目标 中数据从 拖动源 链接到 放落目标

nButton

OLEDragOver 事 件 - 图15OLEDragOver 事 件 - 图16OLEDragOver 事 件 - 图17包 含 一 个 数 字 该 数 字 指 定 了 为 将 数 据 放 落 到 目 标 上 放 开 了 哪 个 鼠 标 键

OLEDragOver 事 件 - 图18OLEDragOver 事 件 - 图19OLEDragOver 事 件 - 图20OLEDragOver 事 件 - 图21OLEDragOver 事 件 - 图22OLEDragOver 事 件 - 图23OLEDragOver 事 件 - 图24OLEDragOver 事 件 - 图251 左 键 2 右 键 或 4 中 间 键

nShift

OLEDragOver 事 件 - 图26OLEDragOver 事 件 - 图27OLEDragOver 事 件 - 图28OLEDragOver 事 件 - 图29OLEDragOver 事 件 - 图30OLEDragOver 事 件 - 图31包 含 一 个 数 字 该 数 字 指 定 了 将 数 据 放 落 到 目 标 上 时 辅 助 键 的 状 态 有 效的 辅 助 键 是 SHIFT CTRL 和 ALT 下 表 列 出 了 对 应 于 单 个 辅 助 键 的 nShift 返 回 值

nShift 辅 助 键

  1. SHIFT

  2. CTRL

4 ALT

OLEDragOver 事 件 - 图32OLEDragOver 事 件 - 图33OLEDragOver 事 件 - 图34OLEDragOver 事 件 - 图35OLEDragOver 事 件 - 图36OLEDragOver 事 件 - 图37OLEDragOver 事 件 - 图38如果当按下鼠标时按住了多个辅助键 则 nShift 参数 包含 这些辅助键的值的和 例 如 释放鼠标键时按下 CTRL 键 nShift 参数包含 2 但是如果在释放鼠标键时按下CTRL+ALT nShift 参数包含 6

nXCoord , nYCoord

OLEDragOver 事 件 - 图39包 含 当 释 放 鼠 标 将 数 据 放 落 到 目 标 上 时 鼠 标 指 针 在 表 单 中 的 水 平

OLEDragOver 事 件 - 图40OLEDragOver 事 件 - 图41OLEDragOver 事 件 - 图42( nXCoord ) 和 垂 直 ( nYCoord ) 位 置 这 些 坐 标 是 按 表 单 的 坐 标 系 表 达 的 表单 的 ScaleMode 属 性 指 定 了 度 量 单 位

nState

OLEDragOver 事 件 - 图43OLEDragOver 事 件 - 图44OLEDragOver 事 件 - 图45OLEDragOver 事 件 - 图46OLEDragOver 事 件 - 图47包 含 一 个 数 值 该 数 值 指 定 了 数 据 被 拖 动 的 方 向 – 到 控 件 或 对 象 中 到 控 件或 对 象 的 内 部 或 到 控 件 或 对 象 的 外 部 下 表 列 出 了 nState 的 值

nState 说 明

  1. 数据 被拖动到 控件或对象 中 当 nState 为零时 可以设置

OLEDragOver 事 件 - 图48OLEDragOver 事 件 - 图49OLEDragOver 事 件 - 图50OLEDropEffects 和 OLEDropHasData 属性

  1. OLEDragOver 事 件 - 图51数据

    被拖动到 控件或对象 的外部

  2. OLEDragOver 事 件 - 图52数据

    被拖动到 控件或对象 的内部

说 明

OLEDragOver 事 件 - 图53OLEDragOver 事 件 - 图54OLEDragOver 事 件 - 图55OLEDragOver 事 件 - 图56OLEDragOver 是一个 放落目标 的 事件 只有当 控件或对象 的 OLEDropMode 属性 设置为 1 – 启用时才发生 如 果 OLEDropMode 属性 设置为 0 – 禁止或 2 – 传递到容器 则不发生这个 事件

注 意 应该避免在 OLEDragOver 事件 中使用 WAIT WINDOW 和 MESSAGEBOX( )

OLEDragOver 事 件 - 图57这样的 命令和函数 创造等待状态

应 用 于

OLEDragOver 事 件 - 图58OLEDragOver 事 件 - 图59OLEDragOver 事 件 - 图60OLEDragOver 事 件 - 图61OLEDragOver 事 件 - 图62OLEDragOver 事 件 - 图63OLEDragOver 事 件 - 图64OLEDragOver 事 件 - 图65OLEDragOver 事 件 - 图66OLEDragOver 事 件 - 图67OLEDragOver 事 件 - 图68OLEDragOver 事 件 - 图69OLEDragOver 事 件 - 图70OLEDragOver 事 件 - 图71OLEDragOver 事 件 - 图72OLEDragOver 事 件 - 图73OLEDragOver 事 件 - 图74OLEDragOver 事 件 - 图75OLEDragOver 事 件 - 图76OLEDragOver 事 件 - 图77OLEDragOver 事 件 - 图78复选框 组合框 命令按钮 命令按钮组 容器对象 控件对象 编辑框 表单 表格 图像 标签 线条 列表框 选项按钮 选项按钮组 页面 页框 项目挂接对象 形状 微调 文本框 工具栏

请 参 阅

OLE Drag-and-Drop 概 览 , OLEGiveFeedBack 事 件 , OLEDropEffects 属 性 , OLEDropHasData 属 性 , OLEDropMode 属 性