按 钮, 选 择 添 加 该 控 件, 如 图 1 所 示。
----
2. 选 择 添 加 的 对 象 类 型
----
在 表 单 上, 用 鼠 标 左 键 选 择 适 当 的 区 域, 建 立OLE 控 件。 进 而 在 随 后 出 现 的“Insert Object” 对 话 框( 图 2 ) 中, 选 择 要 添 加 的 对 象 类 型(Object Type) 为“ 声 音”( 添 加 其 它 类 型 的 多 媒 体 对 象 则 应 选 择 相 应 类 别)。
----
3. 从 现 存 文 件 添 加 对 象
----
添 加 对 象 可 以 以“Create New” 方 式 或“Create From File” 方 式 进 行。 如 果 选 择 以“Create From File” 方 式 添 加 对 象, 将 出 现 图 3 所 示 对 话 框。 单 击“Browse” 按 钮 后, 则 出 现 图 4 所 示“ 插 入 文 件” 画 面。 选 择 相 应 声 音 文 件 后, 按“ 打 开” 按 钮, 即 可 完 成 从 现 存 文 件 添 加 声 音 对 象 过 程。
----
4. 创 建 新 对 象
----
如 果 选 择 以“Create New” 方 式 添 加 对 象, 应 单 击“Insert Object” 对 话 框 的“Ok” 按 钮。 它 将 启 动 声 音 编 辑 程 序, 对 新 文 件 进 行 录 音 或 编 辑。 如 果 在“ 编 辑” 菜 单 上 执 行“ 插 入 文 件” 项( 图 5 ), 也 将 出 现 图 4 所 示“ 插 入 文 件” 画 面。 选 择 相 应 声 音 文 件 后, 按“ 打 开” 按 钮, 即 可 插 入 现 存 文 件 进 行 编 辑。 完 成 文 件 编 辑 后, 选 择 执 行“ 文 件” 菜 单 上“ 退 出” 功 能, 即 完 成 创 建 新 声 音 对 象 的 过 程。
二、 声 音 控 件 执 行 方 法
----
1. 执 行 方 法 说 明
----
建 立 的OLE 对 象 的 一 般 可 用DoVerb 方 法 来 执 行。 该 方 法 应 用 于OLE 绑 定 型 容 器 控 件 和OLE 容 器 控 件, 它 可 在 指 定 的 对 象 上 执 行 一 个 相 应 动 作。 其 执 行 语 法 为:
ObjectName. DoVerb([nVerb])
----
其 中 的 ObjectName 为OLE 容 器 控 件 对 象 名 称。 参 数 nVerb 指 定 在 OLE 容 器 控 件 中 对 象 要 执 行 的 动 作 值。 如 果 没 有 指 定, 就 执 行 默 认 的 动 作。 各 值 对 应 的 对 象 执 行 动 作 如 下:
----
0 - 对 象 的 默 认 动 作。 一 般 为“ 播 放”
----
1 - 激 活 要 编 辑 的 对 象。 如 果 创 建 对 象 的 应 用 程 序 支 持 现 场 激 活, 就 在 OLE 容 器 控 件 中 激 活 对 象。
----
2 - 在 一 个 独 立 的 应 用 程 序 窗 口 中 打 开 对 象。 如 果 所 创 建 对 象 的 应 用 程 序 支 持 现 场 激 活, 就 在 对 象 自 身 的 窗 口 中 激 活 对 象。
----
3 - 对 于 嵌 入 的 对 象, 隐 藏 创 建 对 象 的 应 用 程 序。
----
4 - 如 果 对 象 支 持 现 场 激 活, 就 以 现 场 激 活 方 式 激 活 对 象 并 显 示 任 何 用 户 界 面 工 具。 如 果 对 象 不 支 持 现 场 激 活, 对 象 就 不 激 活 并 产 生 错 误。
----
5 - 如 果 用 户 将 焦 点 移 到 OLE 容 器 控 件 中, 就 创 建 一 个 窗 口, 并 准 备 要 编 辑 的 对 象。 如 果 对 象 不 支 持 以 鼠 标 单 击 的 方 式 激 活, 就 产 生 错 误。
----
6 - 当 激 活 要 编 辑 的 对 象 时, 用 来 放 弃 所 有 记 录 的 更 改, 对 象 的 应 用 程 序 可 以 撤 消 这 些 更 改。
----
2. 命 令 按 钮 创 建 与 设 置
----
一 般 而 言,DoVerb(0) 用 来 播 放OLE 对 象,DoVerb(1) 用 来 编 辑。 为 了 能 让 用 户 在 表 单 运 行 时 操 作OLE 对 象, 首 先 需 在 该 表 单 上 创 建 相 应 的“ 播 放” 与“ 编 辑” 命 令 按 钮, 如 图6 所 示。
----
为 了 各 按 钮 能 执 行 相 应 功 能, 应 设 置 其CLICK 事 件 代 码。 如 果 需 要 操 作 的OLE 对 象 名 为Olecontrol1, 则“ 播 放” 按 钮 的CLICK 事 件 代 码 应 设 为:
ThisForm. OleControl1. DoVerb(0)
----
“ 编 辑” 按 钮 的CLICK 事 件 代 码 应 设 为:
ThisForm. OleControl1. DoVerb(1)
----
设 置 完 成 后, 即 可 在 表 单 运 行 时 单 击 按 钮 进 行 声 音“ 播 放” 或“ 编 辑”。 另 外, 如 果 将OLE 对 象 的 AutoActivate 属 性 设 置 为 2( 双 击), 那 么 当 用 户 双 击 该OLE 容 器 控 件 时, 也 可 自 动 激 活 该 对 象, 进 行 默 认 的 播 放 动 作。
----
有 时 用 户 希 望 表 单 在 启 动 和 退 出 时 能 够 发 出 提 示 声 音。 这 项 功 能 其 实 也 很 容 易 实 现 - 只 要 在 表 单 的Activate Event 和Dstroy Event 事 件 中, 加 入 声 音 播 放 代 码:ThisForm. OleControl1. DoVerb(0), 即 可 达 到 相 应 效 果。
----
在Visual FoxPro 中 用OLE 控 件 进 行 多 媒 体 程 序 设 计, 操 作 简 单 方 便, 但 也 有 缺 点: 它 不 能 灵 活 控 制OLE 对 象, 只 能 进 行 简 单 的 播 放 与 编 辑 功 能, 而 且 执 行 速 度 较 慢。 为 了 解 决 上 述 问 题, 能 够 实 现 快 捷 与 多 功 能 的 多 媒 体 操 作, 则 需 要 利 用Windows 的DLL 资 源, 用MCI 进 行 多 媒 体 程 序 设 计。 这 种 方 法 本 文 不 再 介 绍, 各 位 读 者 不 妨 自 己 设 计, 亲 自 体 验 其 用 法 与 功 能。
|
本文来源:
计算机世界
本文作者:
韩 志 军 /李 效 广
|
Tags:设计 多媒体 OLE FoxPro Visual DoVerb Create Windows