VB 程序设计

10个成员

用Visual Basic设计窗体背景花纹

发表于 2016-12-24 3532 次查看
在 开 发 软 件 过 程 中, 界 面 的 美 观 程 度 是 软 件 商 品 化 程 度 的 一 个 重 要 因 素。 本 文 介 绍 一 种 窗 体 背 景 花 纹 的 实 现 方 法, 为 此, 可 以 方 便 灵 活 地 设 计 出 富 有 立 体 感 的 美 丽 的 背 景。
1. 新 建 窗 体Form1, 属 性 如 下:
Caption = “ 背 景 花 纹 的 实 现”
Borderstyle=3( 无 最 大、 最 小 化 按 钮)

2. 建 网 格 控 件Grid1, 它 的 位 置 和 大 小 将 在 程 序 中 设 置( 与Form1 同 样 大), 属 性 为:
Enabled = False( 焦 点 不 会 落 在 网 格 控 件Grid1 上)
Fillstyle=1( 改 变 所 有 单 元Text 特 性)
Fixedcols=0( 无 固 定 行)
Fixedrows=0( 无 固 定 列)
Gridlines = False( 网 格 行 不 可 见),
Visible = True

3. 建 立 图 象 控 件Picture1, 程 序 运 行 时 将 背 景 花 纹 基 本 图 案 放 入 其 中, 属 性 为:
Visible = False( 不 可 见)
Autosize = True( 自 动 调 整 大 小)

4. 控 件 中 加 入Sheridan 3D Controls, 选 取 其 中 的 三 维 命 令 按 钮SSCommand, 建 立 两 个 按 钮:
SSCommand1.Caption=“ 退 出”
SSCommand2.Caption=“ 更 换 背 景”( 演 示 不 同 的 背 景 图 案)
它 们 的 属 性Picture 可 调 用 与 背 景 相 同 或 不 同 的 图 案, 如 果 使 用 普 通 的 命 令 按 钮 控 件Command 也 可, 只 是 命 令 按 钮 无 背 景 图 案。

5. 建 立 背 景 图 案 形 成 子 程 序:
Dim pictfile As String ' 位 图 文 件 名
Dim FILEPATH As String ' 文 件 路 径
Sub Backpict(pictfile)
picture1.ScaleMode = 3
Form1.ScaleMode = 3
picture1.Picture = LoadPicture(pictfile)
' 网 格 控 件 覆 盖 整 个 窗 体 背 景
grid1.Top = -1
grid1.Left = -1
grid1.Width = Width
grid1.Height = Height
grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth) + 1
grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight) + 1
' 所 有 单 元 大 小 等 于 基 本 图 案 大 小
For I = 0 To grid1.Cols - 1
For j = 0 To grid1.Rows - 1
grid1.ColWidth(I) = picture1.ScaleWidth * 15
grid1.RowHeight(j) = picture1.ScaleHeight * 15
Next j
Next I
' 选 定 所 有 单 元
grid1.SelStartCol = 0
grid1.SelStartRow = 0
grid1.SelEndCol = grid1.Cols - 1
grid1.SelEndRow = grid1.Rows - 1
grid1.Picture = Picture1.Picture
End Sub

6. 窗 体 主 程 序:
Private Sub Form_Load()
' 得 到 运 行 程 序 路 径 名, 路 径 名 后 带 反 斜 杠
If Right(App.Path, 1) <> "\" Then
filePath = App.Path & "\"
Else
filePath = App.Path
End If
' 窗 体 初 始 显 示 由Tiles.bmp 基 本 图 案 组 成 的 背 景
pictfile = "c:\windows\Tiles.bmp"
backpict (pictfile)
End Sub

7. 退 出 程 序 命 令 按 钮:
Private Sub SSCommand1_Click()
End
End Sub

8. 演 示 不 同 的 底 纹 图 案: 本 文 选 取 了Windows+Tiles.bmp 图, 读 者 也 可 以 选 取 自 己 喜 爱 的 其 它 图 形。 代 码 如 下:
Private Sub SSCommand2_Click()' 两 种 背 景 图 案 交 替 演 示
If pictfile = filePath & "Pict1.bmp" Then
pictfile = "c:\windows\Tiles.bmp"
Else
pictfile = filePath & "Pict1.bmp"
End If
Backpict (pictfile)
End Sub

 

发表回复
你还没有登录,请先登录注册