手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

Visual Basic 中字符淡出淡入的实现

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
---- 笔 者 偶 尔 在《 计 算 机 世 界》 上 读 到 一 篇 关 于 在 VISUAL FOXPRO 中 实 现 字 符 的 淡 出 淡 入 的 文 章, 受 此 启 发, 笔 者 参 照 原 文 章 用Visual Basic4.0 也 编 写 了 一 段 类 似 的 字 符 的 淡 出 淡 入 程 序, 以 此 说 明 Microsoft 的 可 视 化 开 发 工 具 具 有 的 共 性: 相 同 或 相 似 的 图 形 用 户 界 面(GUI), 面 向 对 象 和 事 件 驱 动 的 特 性 以 及 相 同 或 相 似 的 函 数 等 等。 这 个 特 点 使 得 程 序 开 发 和 设 计 人 员 可 以 借 鉴 使 用 不 同 的Microsoft 可 视 化 工 具 开 发 的 应 用 程 序, 并 进 行 方 便 的 移 植, 缩 短 开 发 周 期。 同 时, 这 对 计 算 机 语 言 的 学 习 可 以 起 到 触 类 旁 通 的 作 用。

---- 字 符 的 淡 入 淡 出 功 能 可 以 通 过 对 标 签(LABEL) 控 件 的 前 景 做 不 断 的 改 变 来 完 成。 控 件 前 景 的 变 化,
可 以 在 设 计 时 用 标 签 控 件 的 前 景 属 性 来 设 置, 也 可 以 在 程 序 中 通 过 给 前 景 属 性 赋 予 不 同 的 色 彩 值 来 实 现。 色 彩 由RGB 函 数 提 供(Visual Foxpro 也 有 该 函 数)。 用 定 时 器 控 件 产 生 的 中 断 不 断 改 变RGB 参 数 值,因 此 能 够 使 得 字 符 的 前 景 随 之 改 变, 实 现 了 淡 出 淡 入 的 目 的。

---- 下 面 用Visual Basic4.0 编 写 的 程 序 完 成 了 两 个 功 能:(1) 字 符 的 淡 出 淡 入, 而 且 颜 色 的 变 化 有 256*256*256 种, 此 处 只 选 择 了 由 灰 色 到 红 色 的 变 化;

(2) 淡 出 时 字 符 由 小 到 大, 淡 入 时 则 由 大 到 小。 另 外, 本 程 序 的 实 现 过 程 可 完 全 方 便 地 向Visual C、Visual Java 等 可 视 话 语 言 移 植。

---- 一. 启 动Visual Basic 4.0 , 自 动 生 成 一 个 窗 体, 默 认 为FORM1。

---- 二. 将 该 窗 体 的 属 性 设 置 如 下:

NAME:DEMO
CAPTION:VB 实 现 字 符 的 淡 入 淡 出
BACKCOLOR:&H00C0C0C0%, 即 背 景 为 灰 色

---- 三. 在 窗 体DEMO 中 定 义 以 下 窗 体 变 量, 即 在General-declaration 过 程 中 定 义 色 彩 参 数R,G,B。

Dim r As Integer
Dim g As Integer
Din b As Integer

---- 四. 在Form-load 过 程 中 设 置 字 符 色 彩 初 值, 即 灰
色:

Private Sub Form_Load()
r = 192
g = 192
b = 192
End Sub

---- 五. 在 窗 体DEMO 中 加 入 一 标 签, 其 属 性 设 置 如 下:

NAME:LABEL1
CAPTION: 哈 尔 滨 国 投 债 券 交 易 系 统
AUTOSIZE:TRUE, 用 以 实 现 字 符 的 缩 放
BACKSTYLE:0-TRANSPARENT, 即 透 明
FONT: 字 体 为 隶 书, 大 小 选 择 为8

---- 六. 在 窗 体 中 加 入 定 时 器 控 件, 用 以 完 成 淡 出 功 能, 设 置 如 下:

NAME:OUTTIMER
INTERVAL:50, 即 隔 一 秒 中 断 一 次, 色 彩 变 化 一 次。

---- 七. 再 加 入 一 个 定 时 器, 完 成 淡 入 功 能:

NAME:INTIMER
INTERVAL:50

---- 八. 在OUTTIMER 的TIMER 过 程 中 加 入 以 下 代 码:

Private Sub Outtimer_Timer()
If r < 255 Then
r = r 1
Else
r = 255
End If
If g > 3 Then
g = g - 3
Else: g = 0
End If
If b > 3 Then
b = b - 3
Else: b = 0
End If
Label1.FontSize = Label1.FontSize 0.75
Label1.ForeColor = RGB(r, g, b)
If Label1.FontSize >= 72 Then
Outtimer.Enabled = False
Intimer.Enabled = True
End If
End Sub

---- 九. 在INTIMER 中 加 入 如 下 代 码:

Private Sub Intimer_Timer()
If r > 192 Then
r = r - 1
Else
r = 192
End If
If g < 192 Then
g = g 3
Else: g = 192
End If
If b < 192 Then
b = b 3
Else: b = 192
End If
Label1.FontSize = Label1.FontSize - 0.75
Label1.ForeColor = RGB(r, g, b)
If Label1.FontSize <= 8 Then
Intimer.Enabled = False
Outtimer.Enabled = True
End If
End Sub

---- 当 完 成 上 述 步 骤 后, 按 运 行 按 扭, 就 可 看 到 在 窗 体 内“ 哈 尔 滨 国 投 证 券 交 易 系 统” 几 个 字 由 小 到 大、 有 浅 入 深 地 显 示 出来; 当 字 体 达 到 规 定 的 大 小 时, 又 渐 渐 地 消 失 在 窗 体 之 中, 实 现 淡 出 淡 入 的 功 能。

上一篇: 用Visual Basic的Move方法实现动画效果
下一篇: Visual Basic 中制作流水灯

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!