GetData 方 法

GetData 方 法 - 图1GetData 方 法 - 图2从 OLE 拖放 DataObject 对象 获取数据 只在设计时可用 .

语 法

oDataObjec t .GetData( nFormat | cFormat [, @ ArrayNam e])

参 数 描 述

nFormat | cFormat

GetData 方 法 - 图3GetData 方 法 - 图4GetData 方 法 - 图5GetData 方 法 - 图6GetData 方 法 - 图7GetData 方 法 - 图8指 定 要 获 取 数 据 的 格 式 下 表 列 出 了 每 种 数 据 格 式 的 值 以 及 说 明DataObject 自 动 支 持 下 列 格 式 还 有 其 他 格 式 可 用 但 是 需 要 额 外 的 编程 GetData 方 法 - 图9 有 关 可 用 数 据 格 式 的 详 细 内 容 请 在 M S D N ( M icrosoft Developer

GetData 方 法 - 图10GetData 方 法 - 图11Network ) 中 查 看 有 关 V isual C++ 的 文 档

数 据 格 式 *

nFormat

|

Format

说 明

CF_TEXT

1

文本格式

CF_OEMTEXT

7

包含 OEM 字符集中字符的文本格式

CF_UNICODETEXT

13

Unicode 文本格式 只在

GetData 方 法 - 图12GetData 方 法 - 图13GetData 方 法 - 图14Windows NT 下可用

GetData 方 法 - 图15GetData 方 法 - 图16CF_FILES or CF_HDROP 15 一个标识一组文件的句 柄 例如从 W indows 资源管理器拖来的一组文件

GetData 方 法 - 图17CF_LOCALE 16 与剪贴板上文本相关的本地标识符的句柄

CFSTR_OLEVARIANTARRAY “ OLE Variant

Array ”

一个 Visual FoxPro 数组使用这个格式在一次 拖放中可以传送多个值 例

GetData 方 法 - 图18GetData 方 法 - 图19GetData 方 法 - 图20GetData 方 法 - 图21如 这个格式可以用于将列表框中的一些项拖动到另一个列表框中 .

续 表

GetData 方 法 - 图22CFSTR_OLEVARIANT “ OLE Varian t” 一个 Visual FoxPro 变量

GetData 方 法 - 图23GetData 方 法 - 图24GetData 方 法 - 图25Visual FoxPro 中的所有数据类型都可以用变量代 表 这个格式可以用于 拖放 Visual FoxPro 数据 并且不丢失数据类型

CFSTR_VFPSOURCEOBJECT “ VFP Source

Objec t”

对一个 Visual FoxPro 对象的引用

GetData 方 法 - 图26GetData 方 法 - 图27* 在 FOXPRO.H 中定义 .

@ArrayName

GetData 方 法 - 图28GetData 方 法 - 图29GetData 方 法 - 图30GetData 方 法 - 图31GetData 方 法 - 图32GetData 方 法 - 图33指定数组 的 名 称 当数据可以包含多个值时 将数据保存在这里 数据可以包含多个值的数据格式只有 CF_FILES CF_HDROP 和 CFSTR_OLEVARIANTARRAY 例如 可

GetData 方 法 - 图34GetData 方 法 - 图35GetData 方 法 - 图36GetData 方 法 - 图37以从 Windows 资源管理器中将一组文件拖动到 Visual FoxPro 的一个列表框中 使用 列表框 OLEDragDrop 事件 中的 GetData 方法 可以将这些文件的名称放到一个 数组 然后在 FOR … ENDFOR 循环中使用 AddItem 方法 将 数组 中的内容添加到 列表框 中

GetData 方 法 - 图38GetData 方 法 - 图39GetData 方 法 - 图40GetData 方 法 - 图41GetData 方 法 - 图42GetData 方 法 - 图43GetData 方 法 - 图44在 GetData 方法 中指定 数组 名称时 该数组必须存在 如果该 数组 存在 但是不足以包含 所 需 的 数 据 Visual FoxPro 自 动 增 加 该 数 组 的 大 小 如 果 该 数 组 比 所 需 大 Visual FoxPro 会截断该 数组

说 明

GetData 方 法 - 图45GetData 方法 返回的值取决于 nFormat 或 cFormat 指定的数据格式 如果

GetData 方 法 - 图46GetData 方 法 - 图47GetData 方 法 - 图48DataObject 不包含在 nFormat 或 cFormat 指定的数据格式的数据 则返回 假

GetData 方 法 - 图49GetData 方 法 - 图50GetData 方 法 - 图51GetData 方 法 - 图52GetData 方 法 - 图53GetData 方 法 - 图54GetData 方 法 - 图55GetData 方 法 - 图56GetData 方 法 - 图57GetData 方 法 - 图58(.T.) 如果数据符合多值格式 例如 CF_FILES CF_HDROP 或CFSTR_OLEVARIANTARRAY 则返回 真 (.T.) 如果数据符合单值格式时 例如CF_TEXT CFSTR_OLEVARIANT 或 CFSTR_VFPSOURCEOBJECT 则返回

GetData 方 法 - 图59DataObject 中的值 .

GetData 方 法 - 图60GetData 方 法 - 图61GetData 方 法 - 图62GetData 方 法 - 图63GetData 方 法 - 图64GetData 方 法 - 图65GetData 方 法 - 图66如果使用 nFormat 或 cFormat 指定的数据格式存在 但是在 DataObject 中没有这种格式的数据 则触发一个拖动源的 OLESetData 事件 在使用 SetData 方法 将相应数据放在 DataObject 中之前 可以使用 SetFormat 方法 指定一种数据格式

应 用 于DataObject 对 象请 参 阅

ClearData 方 法 , GetFormat 方 法 , OLE drag-and-drop 概 览 , OLESetData 事 件 , SetData 方 法 , SetFormat 方 法