频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在VB5.0中制作多媒体界面

来源: 作者: 出处:巧巧读书 2006-09-03 进入讨论组

  简 介: 由 于Visual Basic 具 有 易 学 易 用、 编 程 简 洁、 功 能 极 为 丰 富 等 诸 多 优 点, 因 此 拥 有 众 多 用 户。
许 多 用 户 在 运 用VB 编 程 时, 都 希 望 能 用VB 为 自 己 的 应 用 程 序 制 作 有 声、 有 色、 形 式 多 样、 引 人 入 胜 的 多 媒 体 界 面。 在 这 里 我 们 将 向 大 家 介 绍 一 种 简 单 实 用 的 多 媒 体 界 面 制 作 方 法, 希 望 它 能 对 大 家 编 程 起 到 一 定 的 借 鉴 作 用。

---- 软 件 中 那 些 生 动 有 趣 的 多 媒 体 界 面, 往 往 会 使 用 户 对 该 软 件 产 生 深 刻、 良 好 的 印 象, 因 此, 用 户 界 面 是 一 个 应 用 程 序 非 常 重 要 的 部 分。 因 为 一 般 情 况 下 用 户 感 觉 不 到 幕 后 正 在 运 行 的 代 码, 所 以 无 论 设 计 者 花 多 少 时 间、 精 力 来 编 制 和 优 化 代 码, 应 用 程 序 给 用 户 的 印 象 仍 主 要 取 决 于 界 面 的 效 果。

---- Visual Basic 5.0 是 微 软 公 司 最 新 推 出 的BASIC 语 言 编 程 环 境, 它 不 仅 具 有 强 大 的 计 算 和 数 据 处 理 能 力, 而 且 还 提 供 了 丰 富 的 多 媒 体 功 能。 利 用 这 些 多 媒 体 功 能 我 们 就 可 以 设 计 出 多 种 多 样 的 多 媒 体 用 户 界 面 了。

---- 一 般 来 说 多 媒 体 界 面 可 由 四 部 分 组 成: 动 画、 声 音、 图 象、 文 字。 有 时 只 有 三 部 分: 图 象( 或 动 画)、 声 音 和 文 字。

---- 下 面 我 们 将 结 合 一 个 实 例 来 向 大 家 介 绍 多 媒 体 界 面 的 制 作 方 法。 本 例 中 的 多 媒 体 界 面 由 动 画、 图 象、 背 景 音 乐 和 滚 动 显 示 的 文 字 四 部 分 组 成。

---- 多 媒 体 界 面 显 示 效 果 描 述: 工 程 运 行 后, 屏 幕 背 景 显 示 为 黑 色, 在 屏 幕 中 间 适 当 位 置 显 示 一 幅 图 象, 在 此 图 象 右 上 角 适 当 位 置 连 续 重 复 播 放 动 画, 显 示 的 文 字 信 息 从 屏 幕 下 面 向 上 面 滚 动, 至 中 间 指 定 位 置 停 止 滚 动, 同 时 在 此 过 程 中 连 续 播 放 背 景 音 乐。 具 体 实 现 方 法 如 下。

窗 体 和 控 件 的 设 计

---- 本 例 共 需 六 个 窗 体、 控 件, 各 窗 体 和 控 件 的 具 体 设 计 如 下:

---- 1 . 所 需 创 建 的 窗 体 和 控 件. 编 号 窗 体 及 控 件 功 能

1 Form1 窗 体 创 建 新 工 程, 由 此 窗 体 控 制 界 面 总 背 景 为 黑 色

2 Picture1 控 件

(PictureBox 控 件) 在 此 控 件 中 显 示 一 幅 图 象

3 Picture2 控 件

(PictureBox 控 件) 在 此 控 件 中 显 示 播 放 的 动 画

4 MCI1 控 件

(MMControl 控 件) 利 用 此 控 件 连 续 播 放 背 景 音 乐

5 MCI2 控 件

(MMControl 控 件) 利 用 此 控 件 连 续 播 放 动 画

6 Timer1 控 件 利 用 此 控 件 显 示 滚 动 的 文 字 信 息, 并 控 制 动 画、 声 音 的 重 放

---- 2 . 设 置 各 窗 体 和 控 件 的 属 性.

---- 窗 体 及 控 件 属 性 设 置 值 含 义

Form1 窗 体 BorderStyle 0-None 不 显 示Windows95 的 边 框 及 边 框 相 关 元 素.

WindowState 2-Maximized 在 运 行 时, 将 窗 体 的 可 视 窗 口 最 大 化.

Picture1 控 件 Appearance 0-Flat 设 置 控 件 的 显 示 风 格 为 平 面 视 觉 效 果.

AutoRedraw True 允 许 自 动 重 绘 控 件 上 的 图 象、 文 字( 若 此 项 设 为False, 则 屏 幕 显 示 文 字 有 闪 烁 感).

AutoSize True 自 动 调 整 控 件 大 小 以 显 示 全 部 要 显 示 内 容.

Font 楷 体-GB2312 显 示 字 体: 楷 体, 样 式:Regular, 大 小:1 号 .

Picture2 控 件 AutoSize True 自 动 调 整 控 件 大 小 以 显 示 全 部 要 显 示 内 容.

MCI1 控 件 ( 名 称) MCI1 重 新 给MMControl 控 件 命 名.

Visible False 将 控 件 隐 藏 起 来, 由 程 序 去 控 制 播 放.

MCI2 控 件 ( 名 称) MCI2 重 新 给MMControl 控 件 命 名.

Visible False 将 控 件 隐 藏 起 来, 由 程 序 去 控 制 播 放.

Timer1 控 件 Interval 200 设 置 每 隔0.2 秒 发 生 一 次Timer1-timer 事 件, 当 然 此 项 设 置 也 可 在 事 件 代 码 中 用 语 句 Timer1.Interval = 200 来 设 定.

---- 注: 表 中 未 列 出 的 各 窗 体 和 控 件 的 属 性 值 维 持 原 窗 体 和 控 件 创 建 时 的 缺 省 值。

---- 4 . 调 整 各 窗 体 和 控 件 的 尺 寸, 并 将 各 窗 体 和 控 件 调 整 到 适 当 位 置.

事 件 及 相 应 代 码 的 设 计

---- 本 例 中 涉 及 到 的 事 件 有 三 个, 它 们 分 别 是:Form_Load 事 件、Picture1_MouseUp 事 件 和Timer1_timer 事 件。 其 中Form_Load 事 件 主 要 完 成 对 数 组 及 变 量 进 行 初 始 化, 对 所 要 读 取 文 件 的 盘 符 路 径 进 行 处 理, 并 控 制 多 媒 体 控 件MCI1、MCI2 分 别 播 放 背 景 音 乐 和 动 画;Picture1_MouseUp 事 件 主 要 完 成 关 闭、 退 出 工 程 的 任 务, 即 在 工 程 运 行 时, 当 鼠 标 处 于 画 面Picture1 范 围 内 时, 按 鼠 标 左 键, 则 关 闭 多 媒 体 控 件MCI1、MCI2, 并 卸 载 退 出 工 程;Timer1_timer 事 件 主 要 用 来 完 成 背 景 音 乐 和 动 画 的 连 续 循 环 重 放, 并 控 制 要 显 示 的 文 字 信 息 向 上 滚 动 显 示。 窗 体 的 声 明 及 各 事 件 的 代 码 分 别 如 下:

---- 1 . 窗 体 的 通 用 声 明.

Option Explicit ' 强 制 进 行 变 量 声 明.

Dim CurY, CurY1, Temp As Single, s1(1 To 3), s2(1 To 3) As String

---- 2 . Form_Load 事 件 代 码 及 注 释.

Private Sub Form_Load()

' 变 量DiskPathName 用 于 存 放 应 用 程 序

所 在 的 盘 符 和 路 径.

Dim DiskPathName As String, x, y As Single

' 根 据WINDOWS 所 设 置 的 分 辨 率 重

新 调 整 各 窗 口 和 控 件 的 位 置.

Move 0, 0, Screen.Width, Screen.Height

x = (ScaleWidth - Picture1.Width) / 2:

y = (ScaleHeight - Picture1.Height) / 2

Picture1.Move x, y

Picture2.Move Picture2.Left + x, Picture2.Top+y

s1(3) = " 程 序 功 能:": s2(3) =

"VB5.0 多 媒 体 界 面 演 示" ' 要 滚 动 显 示 的 文 字 信 息.

S1(2) = " 设 计 单 位:": s2(2) = " 中 国 矿 大 北 京 研 究 生 部"

s1(1) = " 设 计 者:": s2(1) = " 关 永 张 杰"

' 保 存Picture1 画 面 的 起 始 坐 标.

CurY = Picture1.CurrentY: CurY1 = CurY: Temp = 8000 - Picture1.CurrentY

DiskPathName = App.Path

' 判 断 应 用 程 序 所 在 路 径 是 否 为 根 目 录,

若 为 根 目 录 则 去 掉 路 径 中 的 "\" .

' 例 如 当 应 用 程 序 处 于A 盘 根 目 录 时,

字 符 串 表 达 式DiskPathName + "\demo.bmp" 的

' 值 为"a:\\demo.bmp", 即 路 径 中 出 现 二 个 反 斜 杠,

这 是 不 允 许 的。

If Right(DiskPathName, 1) = "\" Then

DiskPathName = Left(DiskPathName, Len(DiskPathName) - 1)

End If

Picture1.Picture = LoadPicture(DiskPathName + "\demo.bmp")

' 装 入 要 显 示 的 图 象.

Form1.BackColor = QBColor(0)

' 设 置Form1 的 背 景 为 黑 色.

MCI1.filename = DiskPathName + "\demo.wav"

' 打 开 并 播 放 背 景 音 乐.

MCI1.Command = "Open"

MCI1.Command = "Play"

MCI2.DeviceType = "AVIVideo"

' 打 开 并 播 放 动 画.

MCI2.filename = DiskPathName + "\demo.avi"

MCI2.hWndDisplay = Picture2.hWnd

' 让 动 画 在Picture2 中 进 行 播 放.

MCI2.Command = "Open"

MCI2.Command = "Play"

End Sub

---- 3 . Picture1_MouseUp 事 件 代 码 及 注 释.

---- Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) ' 判 断 是 否 按 下 了 鼠 标 的 左 键, 是 则 关 闭 多 媒 体 控 件MCI1、MCI2, 并 卸 载 退 出 工 程.

If Button = vbLeftButton Then

MCI1.Command = "Stop"

MCI1.Command = "Close"

MCI2.Command = "Stop"

MCI2.Command = "Close"

Unload Me

End If

End Sub

---- 4 .Timer1_timer 事 件 代 码 及 注 释.

---- 实 现 文 字 信 息 向 上 滚 动 显 示 的 方 法: 首 先 在 屏 幕 最 下 向 显 示 要 显 示 的 文 字 信 息, 然 后 等 待Timer1_timer 事 件 发 生( 由 于 本 例 中Timer1 控 件 的Interval 属 性 被 设 为200, 所 以 每 隔0.2 秒 就 会 发 生 一 次Timer1_timer 事 件), 每 发 生 一 次 该 事 件, 我 们 就 用Picture1.Cls 命 令 清 除 上 一 次 屏 幕 显 示 文 字 内 容, 再 向 上 调 整 本 屏 要 显 示 内 容 的 起 始 纵 坐 标( 横 坐 标 不 变), 接 着查看 http://www.qqread.com/vb/e241296.html 更多文章 更多内容请看多媒体应用解决方案VB其他多媒体设计专题,或进入讨论组讨论。

收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章