设置首页  |   加入收藏  |  联系我们   
您的位置: 主页>程序设计>VFP>正文
Visual FoxPro多媒体表单设计
文章来源:  编辑:  发布时间:2007-12-12

---- 世 界 进 入 信 息 时 代 以 来, 人 们 不 得 不 对 越 来 越 多 的 信 息 进 行 处 理 与 管 理。 其 中 既 有 大 量 的 文 字 信 息, 也 包 括 各 式 各 样 的 静 态 图 形、 动 态 图 象 和 声 音 等 多 媒 体 信 息。 传 统 的 只 能 处 理 文 本 信 息 的 数 据 库 管 理 系 统 已 不 能 适 应 社 会 发 展。 当 今 的 时 代 越 来 越 需 要 能 够 处 理 多 媒 体 信 息 的 数 据 库 管 理 系 统。 而MicroSoft 推 出 的Visual FoxPro 系 统, 能 充 分 利 用Windows 的 设 备 无 关 性 等 优 势, 在 多 媒 体 信 息 管 理 和 处 理 能 力 上 有 了 很 大 提 高。 它 的 出 现 为 开 发 多 媒 体 程 序 提 供 了 很 大 方 便。

---- 但 从 多 媒 体 数 据 管 理 性 能 看,Visual FoxPro 命 令 集 中 只 有 静 态 图 形 的 直 接 显 示 功 能, 动 态 图 象 和 声 音 的 播 放 或 编 辑, 则 需 要 外 部 功 能 的 支 持。 因 此, 为 了 完 成 多 媒 体 数 据 管 理,Visual FoxPro 提 供 了 调 用DLL ( 动 态 链 接 库) 的 功 能, 允 许 在 应 用 程 序 中 充 分 发 挥Windows 中DLL 资 源 的 优 势。 它 还 可 利 用Windows 提 供 的MCI (Media Control Interface) 多 媒 体 控 制 接 口 功 能, 使 用 户 能 够 控 制 各 种 媒 体 设 备。 除 此 之 外,Visual FoxPro 还 支 持OLE ( 对 象 的 链 接 与 嵌 入) 功 能, 用 户 可 利 用 各 种OLE 控 件 进 行 多 媒 体 程 序 设 计。 本 文 即 以OLE 控 件 为 例, 简 要 介 绍Visual FoxPro 中 多 媒 体 声 音 表 单 的 设 计 方 法。

一、 声 音 控 件 创 建

---- Visual FoxPro 中 有 两 种OLE 控 件, 一 种 是 OLEControl(OLE 容 器 控 件), 一 种 是 OLEBoundControl(OLE 绑 定 型 容 器 控 件) 。OLEBoundControl 主 要 用 于 对Visual FoxPro 表 中General( 通 用 型) 字 段 的 控 制。 而 利 用OLEControl 控 件 创 建 的 嵌 入 式OLE 对 象, 可 与 表 单 构 成 一 体。 用OLEControl 控 件 创 建 有 声 表 单 的 过 程 如 下:

---- 1. 选 择OLE 容 器 控 件

---- 首 先 在“ 表 单 设 计 器” 中 打 开 需 要 填 加 声 音 对 象 的 表 单, 进 而 用 鼠 标 左 键 单 击“ 表 单 控 件 工 具 栏” 的 按 钮, 选 择 添 加 该 控 件, 如 图 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

Google
 
上一篇: VFP与EXCEL的动态数据交换技术   下一篇: 在应用程序中修改VFP数据表结构
【返回顶部】 【打印】 【大】 【中】 【小】 【关闭】

 我来说两句
用户名: 新注册) 密码: 匿名评论 [论坛讨论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 相关文章
 热门文章

 
版权所有  2005-2006  Linux集中营  闽ICP备07500055号