?? 09.txt
字號:
VB5.0下工具條的制作
作者:況正謙
---- 工 具 條(Tool bar) 是Windows 環 境 下 應 用 程 序 常 用 的 界 面 元 素。 把 菜 單 中 常 用 的 命 令 做 成 按 鈕 安 排 在 工 具 條 中, 配 上 適 當 的 圖 標 符 號 和 文 本 提 示, 確 實 極 大 地 方 便 了 用 戶。 以Microsoft Word 7.0 for Windows 95 的 工 具 條 為 例, 其 中 的 內 容 和 功 能 非 常 豐 富。Word 7.0 工 具 條 中 不 僅 包 含 與 文 件 操 作 等 有 關 的 常 規 圖 標 按 鈕, 還 有 設 置 字 體 字 號 等 等 的 組 合 框(Combo box)。 按 鈕 之 間 可 以 分 組, 例 如 設 置 段 落 對 齊 方 式 的 一 組 按 鈕, 同 組 中 的 按 鈕 每 次 只 允 許 有 一 個 被 按 下, 按 下 一 個 按 鈕 時, 同 組 中 其 它 按 鈕 自 動 彈 起。 另 外,Word 7.0 的 工 具 條 還 有 用 戶 裁 剪(Customize) 功 能。 用 戶 在 工 具 條 上 雙 擊 鼠 標 時, 工 具 條 彈 出 一 個 裁 剪 對 話 框, 用 戶 可 以 隱 藏、 顯 示 以 及 重 新 排 列 工 具 條 中 的 按 鈕。 如 果 在 我 們 自 己 開 發 的 軟 件 界 面 中 加 上 這 樣 的 工 具 條, 我 們 的 軟 件 就 可 以 與 商 業 軟 件 相 媲 美 了。
---- 在 諸 多Windows 應 用 程 序 開 發 平 臺 中,Microsoft Visual BASIC 以 易 學 易 用、 功 能 強 大 的 優 點 特 出 獨 立, 成 為 開 發Windows 應 用 程 序 的 首 選 平 臺 之 一。 在VB 4.0 及 以 前 的 版 本 中, 開 發 象Word 7.0 中 的 工 具 條 還 是 頗 費 辛 苦 的。 一 般 思 路 是 在 窗 體(Form) 中 安 放 一 個 圖 片 框(PictureBox) 作 為 容 器(Container), 再 往 其 中 加 入 圖 象(Image) 控 件, 用 圖 象 控 件 載 入 圖 標 來 模 擬 按 鈕。 對 多 個 按 鈕 的 控 制 要 分 別 完 成, 管 理 較 為 復 雜。 在VB 5.0 中, 系 統 提 供 了 一 個 專 門 的 工 具 條 控 件Toolbar。 用Toolbar 來 實 現 類 似Word 7.0 中 的 工 具 條 非 常 方 便。
工 具 條 控 件Toolbar 簡 介 ---- 1. 在 工 具 箱 中 加 入Toolbar
---- 工 具 條 控 件Toolbar 不 在VB 5.0 工 具 箱(Toolbox) 的 常 規 標 準 控 件 之 列, 因 此 在 首 次 安 裝VB 5.0 后, 工 具 箱 中 并 沒 有Toolbar。 在 工 具 箱 中 加 入Toolbar 要 通 過Project 菜 單 中 的Components 命 令, 該 命 令 彈 出 一 個 選 擇 安 裝 組 件 的 窗 口。 在Components 窗 口 的Controls 組 中 找 到“Microsoft Windows Common Controls 5.0” 項, 單 擊 標 記 該 項, 然 后 單 擊“ 確 定” 按 鈕,Toolbar 和 另 外 一 些 控 件 就 加 入 工 具 箱 了。
---- 2. Toolbar 的 功 能
---- Toolbar 中 可 以 加 入 按 鈕, 每 個 按 鈕 都 可 以 載 入 自 己 的 圖 象、 設 置 標 題(Caption)。 還 可 以 為 每 個 按 鈕 設 置 簡 短 的 提 示 字 符 串, 程 序 運 行 時, 當 鼠 標 指 針 移 到 按 鈕 上 時, 在 指 針 附 近 會 自 動 浮 出 提 示 字 符 串。 在 程 序 運 行 時, 可 以 隨 時 增 加 或 刪 除 按 鈕。Toolbar 為 其 中 的 按 鈕 提 供 了 分 組 功 能, 用 戶 只 需 簡 單 地 設 置 一 個 按 鈕 的Style 屬 性 就 能 實 現 按 鈕 之 間 的 分 組。Toolbar 同 時 還 是 一 個 容 器 類 控 件, 可 以 在 其 中 加 入 組 合 框 等 其 它 控 件。Toolbar 的AllowCustomize 屬 性 允 許 用 戶 在 程 序 運 行 時 雙 擊 工 具 條 對 其 中 的 內 容 進 行 裁 剪。 根 據 這 些 功 能, 用 戶 就 可 以 輕 而 易 舉 地 在 自 己 開 發 的 應 用 程 序 中 加 入 類 似Word 7.0 風 格 的 工 具 條 了。
Toolbar 的 制 作
---- Toolbar 的 制 作 包 括 以 下 步 驟: 在 窗 體 中 加 入Toolbar 控 件; 在Toolbar 中 加 入 按 鈕; 為 按 鈕 載 入 圖 象 并 設 置 其 它 屬 性。
---- 1. 在 窗 體 中 加 入Toolbar 控 件
---- 雙 擊 工 具 箱 中 的Toolbar,Toolbar 就 自 動 加 入 窗 體 并 放 置 在 窗 體 客 戶 區 的 頂 端。 如 果 要 把Toolbar 放 置 在 其 它 位 置, 可 以 在 屬 性 窗 口 中 改 變Toolbar 的Align 屬 性。Toolbar 的Align 屬 性 中 可 供 選 擇 的 有5 個 值:
---- 0 - vbAlignNone, 不 對 齊
---- 1 - vbAlignTop, 對 齊 窗 口 客 戶 區 頂 端
---- 2 - vbAlignBottom, 對 齊 窗 口 客 戶 區 底 端
---- 3 - vbAlignLeft, 對 齊 窗 口 客 戶 區 左 邊
---- 4 - vbAlignRight, 對 齊 窗 口 客 戶 區 右 邊
---- 2. 在Toolbar 中 加 入 按 鈕
---- 用 鼠 標 右 鍵 單 擊Toolbar, 會 彈 出Toolbar 的 屬 性 菜 單。 單 擊 菜 單 的 最 后 一 項“Properties”, 會 彈 出Toolbar 的 屬 性 頁(Property Pages) 窗 口。 在 屬 性 頁 窗 口 中 可 以 設 置 控 件 的 一 些 非 常 規 屬 性。
---- 在Toolbar 屬 性 頁 中 選Buttons 組, 其 中 的“Insert Button” 和“Remove Button” 兩 個 按 鈕 分 別 用 于 在Toolbar 中 加 入 和 刪 除 按 鈕。Toolbar 控 件 的 所 有 按 鈕 構 成 一 個 按 鈕 集 合(Collection), 名 為Buttons。 在Toolbar 中 加 入 和 刪 除 按 鈕 實 際 上 是 對Toolbar 的Buttons 集 合 進 行 加 入 和 刪 除 元 素 操 作。 對 于Toolbar 中 各 個 按 鈕 的 訪 問, 也 是 通 過Buttons 集 合 進 行 的。 用“Insert Button” 加 入 按 鈕 后, 可 以 在Toolbar 屬 性 頁Buttons 中 設 置 新 加 入 的 按 鈕 的 屬 性。 這 些 屬 性 包 括: 索 引(Index)、 標 題(Caption)、 描 述 信 息(Description)、 關 鍵 字(Key)、 初 態(Value)、 模 式(Style)、 寬 度(Width)、 提 示 信 息(ToolTipText) 等。
---- (1) Index 和Key
---- Toolbar 中 的 按 鈕 是 通 過 集 合Buttons 來 訪 問 的。 集 合 中 每 個 按 鈕 都 有 唯 一 與 之 對 應 的 標 識,Index 和Key 就 是 與 按 鈕 一 一 對 應 的 標 識。Index 是 整 數 類 型 的, 類 似 于 數 組 的 下 標。Key 是 字 符 串 類 型 的 類 似 于 對 象 的 名 字, 但 它 與 名 字 不 同 的 是 引 用 時 必 須 加 雙 引 號, 并 且 它 中 間 可 以 包 含 任 意 的 字 符。 按 鈕 的Key 屬 性 是 可 選 的, 可 以 為 空。 訪 問 按 鈕 時 可 以 引 用Index 和Key 二 者 之 一。 例 如, 在 名 為Toolbar1 的Toolbar 中 加 入 按 鈕, 其Index 為1,Key 設 置 為“1st button”。 在 程 序 中 可 以 通 過 以 下 兩 種 方 式 之 一 訪 問 該 按 鈕:
Toolbar1.Buttons(1)
或
Toolbar1.Buttons("1st button")
---- (2) Caption
---- Caption 屬 性 對 應 按 鈕 上 顯 示 的 文 本, 與 普 通 按 鈕 的Caption 屬 性 相 同。
---- (3) ToolTipText 和Description
---- ToolTipText 和Description 都 是 字 符 串 類 型, 用 于 設 置 按 鈕 的 提 示 文 本 和 描 述 信 息。 設 置 了ToolTipText 后, 程 序 啟 動 運 行 后, 當 用 戶 把 鼠 標 指 針 移 到 按 鈕 上 時,ToolTipText 對 應 的 文 本 字 符 串 自 動 浮 出。 該 屬 性 用 于 在 程 序 運 行 時 提 示 用 戶 按 鈕 的 功 能。 程 序 啟 動 運 行 后, 用 戶 雙 擊 工 具 條 對 其 中 的 內 容 進 行 裁 剪 時, 對 話 窗 中 每 個 按 鈕 旁 邊 顯 示 的 是 按 鈕 的Description 屬 性。
---- (4) Style
---- Style 屬 性 設 置 按 鈕 的 模 式, 不 同 模 式 的 按 鈕 具 有 不 同 的 風 格 和 作 用。 可 供 選 擇 的Style 屬 性 有 以 下5 種:
---- 0 - tbrDefault, 一 般 按 鈕
---- 1 - tbrCheck, 開 關 按 鈕
---- 2 - tbrButtonGroup, 編 組 按 鈕
---- 3 - tbrSeparator, 分 隔 按 鈕
---- 4 - tbrPlaceholder, 占 位 按 鈕
---- 一 般 按 鈕 與 普 通 的 按 鈕 控 件 在 操 作 風 格 上 基 本 相 同。 開 關 按 鈕 具 有 二 值 狀 態: 按 下 和 放 開。 編 組 按 鈕 用 于 實 現 按 鈕 之 間 的 分 組, 相 鄰 的 編 組 按 鈕 都 屬 于 同 一 組。 編 組 按 鈕 同 時 也 是 開 關 按 鈕, 同 組 內 至 多 只 允 許 一 個 按 鈕 處 于 按 下 狀 態。 分 隔 按 鈕 在Toolbar 中 并 不 顯 示, 而 是 把 它 左 右 的 按 鈕 分 隔 開 來。Toolbar 中 的 按 鈕 本 來 是 緊 挨 著 排 列 的, 使 用 分 隔 按 鈕 可 以 讓 同 類 或 同 組 的 按 鈕 并 列 排 放 而 與 鄰 近 的 組 分 開。 占 位 按 鈕 在Toolbar 中 也 不 顯 示, 它 僅 僅 起 到 占 位 的 作 用。 在 占 位 按 鈕 處 可 以 安 放 其 它 控 件 諸 如 組 合 框 之 類。 占 位 按 鈕 是 唯 一 可 以 設 置 寬 度(Width) 屬 性 的 按 鈕。
---- (5) Value
---- Value 屬 性 設 置 按 鈕 的 按 下 和 放 開 狀 態。 該 屬 性 一 般 用 于 設 置 開 關 按 鈕 和 編 組 按 鈕 的 初 態。
---- (6) Width
---- 在 屬 性 頁 的Buttons 組 中 可 以 看 到,Width 屬 性 后 有 一 個Placeholder 的 附 加 說 明。 只 有 當 按 鈕 的Style 設 置 為Placeholder 時, 該 屬 性 才 能 被 設 置, 其 它 情 況 下 該 屬 性 被 禁 止。
---- 3. 為 按 鈕 載 入 圖 象
---- 工 具 條 按 鈕 的 一 個 突 出 特 點 是 包 含 形 象 的 圖 象, 用 以 提 示 按 鈕 的 功 能。 在Toolbar 中 加 入 所 需 的 按 鈕 后, 就 可 以 為 每 個 按 鈕 載 入 圖 象 了。Toolbar 按 鈕 與 普 通 的Image 和PictureBox 不 同, 它 們 沒 有Picture 屬 性。 要 給Toolbar 按 鈕 載 入 圖 象 需 要 借 助 于 另 一 個 控 件ImageList。
---- ImageList 是 在“Microsoft Windows Common Controls 5.0” 中 與Toolbar 一 并 提 供 的 控 件。 該 控 件 不 單 獨 使 用, 而 是 專 門 為 其 它 控 件 提 供 圖 象 庫。Toolbar 中 按 鈕 的 圖 象 就 要 從ImageList 的 圖 象 庫 中 提 取。
---- 為Toolbar 按 鈕 載 入 圖 象 的 方 法 是: 首 先 在Toolbar 所 在 的 窗 體 中 加 入ImageList 控 件, 其 次 在ImageList 中 加 入 圖 象, 然 后 建 立Toolbar 和ImageList 的 關 聯 關 系, 最 后 從ImageList 的 圖 象 庫 中 選 擇 圖 象 載 入Toolbar 的 按 鈕。
---- (1) 在ImageList 中 加 入 圖 象
---- 與Toolbar 控 件 類 似, 鼠 標 右 鍵 單 擊 窗 體 中 的ImageList 控 件 時, 會 彈 出 其 屬 性 菜 單。 選 菜 單 的 最 后 一 項“Properties” 會 彈 出ImageList 的 屬 性 頁 窗 口。 在 屬 性 頁 窗 口 中 選Images 組, 在 這 里 可 以 為ImageList 的 圖 象 庫 中 加 入 圖 象, 并 為 每 個 圖 象 設 置 關 鍵 字 屬 性。
---- 單 擊“Insert Picture” 按 鈕 可 以 在 圖 象 庫 中 插 入 圖 片。 系 統 彈 出 一 個 選 擇 圖 片(Select picture) 的 窗 口, 從 該 窗 口 中 可 以 選 定 一 個 或 多 個 圖 象 文 件。 單 擊“ 打 開” 按 鈕, 選 定 的 圖 片 就 插 入 圖 象 庫 了。ImageList 允 許 插 入 位 圖 文 件(.bmp) 和 圖 標(.ico) 文 件。
---- (2) 建 立Toolbar 和ImageList 的 關 聯 關 系
---- 打 開Toolbar 的 屬 性 頁 窗 口, 在General 組 中 有 一 個 標 題 為ImageList 的 下 拉 式 列 表 框。 單 擊 打 開 該 列 表 框, 其 中 列 出 了 本 窗 體 中 所 有 的ImageList 控 件。 單 擊 選 定 一 個ImageList 控 件,Toolbar 就 與 該ImageList 建 立 了 關 聯 關 系。
---- (3) 為Toolbar 按 鈕 載 入 圖 象
---- 建 立 好Toolbar 和ImageList 的 關 聯 關 系 后,Toolbar 屬 性 頁 窗 口 的Buttons 組 中Image 項 就 從 禁 止 狀 態 變 為 有 效 了。 在Image 項 的 文 本 框 中 輸 入ImageList 圖 象 庫 里 某 個 圖 片 的Index 值, 該 圖 片 就 被 載 入 該 按 鈕 了。
Toolbar 的 常 用 屬 性 和 方 法
---- 設 置 好Toolbar 之 后, 有 必 要 對 其 常 用 的 屬 性 和 方 法 作 一 了 解, 以 便 在 程 序 中 對 它 進 行 控 制。Toolbar 與 其 它 控 件 類 似 的 常 用 屬 性 在 此 不 作 贅 述。
---- 1. 常 用 屬 性
---- (1) ImageList
---- 該 屬 性 設 置 與Toolbar 相 關 聯 的ImageList 對 象。
---- (2) AllowCustomize
---- 該 屬 性 設 置 是 否 允 許 用 戶 在 程 序 運 行 時 對Toolbar 的 內 容 進 行 裁 剪。 該 屬 性 的 缺 省 值 是True。
---- (3) ShowTips
---- 該 屬 性 決 定 程 序 運 行 過 程 中, 當 鼠 標 指 針 移 到Toolbar 按 鈕 上 時, 是 否 浮 出 該 按 鈕 的ToolTipText 文 本 提 示。 該 屬 性 的 缺 省 值 是True。
---- (4) ToolTipText
---- 該 屬 性 設 置Toolbar 自 己 的 文 本 提 示 字 符 串。Toolbar 的 每 個 按 鈕 可 以 有 自 己 的ToolTipText, 同 時Toolbar 本 身 也 可 以 有 自 己 的ToolTipText。 程 序 運 行 過 程 中, 當 鼠 標 指 針 移 到Toolbar 按 鈕 上 時, 如 果Toolbar 和 按 鈕 都 設 置 了ToolTipText, 則 兩 個 提 示 字 符 串 都 會 浮 出。
---- 2. 常 用 方 法
---- 對Toolbar 的 控 制 主 要 是 針 對 其 中 的 按 鈕,Toolbar 中 的 按 鈕 是 作 為 一 個 名 為Buttons 的 集 合 對 象 供 程 序 訪 問 的。Buttons 的 常 用 方 法 包 括 增 加 一 個 按 鈕(Add)、 刪 除 一 個 按 鈕(Remove) 和 刪 除 所 有 按 鈕(Clear)。
---- (1) Add
---- Add 方 法 的 語 法 為:
---- Toolbar 控 件 名.Buttons.Add(index, key, caption, style, image)
---- 整 型 參 數index 指 定 新 增 按 鈕 的 索 引 值, 該 索 引 值 也 決 定 了 按 鈕 在Toolbar 中 的 位 置。Index 參 數 可 以 省 略( 注 意, 省 略index 參 數 時 其 后 的 逗 號 要 照 寫), 缺 省 情 況 下 新 增 按 鈕 加 到Buttons 集 合 的 最 后。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -