-
vb教程之用Visual Basic设计窗体背景花纹
在 开 发 软 件 过 程 中, 界 面 的 美 观 程 度 是 软 件 商 品 化 程 度 的 一 个 重 要 因 素。 本 文 介 绍 一 种 窗 体 背 景 花 纹 的 实 现 方 法, 为 此, 可 以 方 便 灵 活 地 设 计 出 富 有 立 体 感 的 美 丽 的 背 景。
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
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
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比