在 開 發 軟 件 過 程 中, 界 面 的 美 觀 程 度 是 軟 件 商 品 化 程 度 的 一 個 重 要 因 素。 本 文 介 紹 一 種 窗 體 背 景 花 紋 的 實 現 方 法, 為 此, 可 以 方 便 靈 活 地 設 計 出 富 有 立 體 感 的 美 麗 的 背 景。 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
|