CToolBar
类 CToolBar 的 对 象 是 带 有 一 行 位 图 按 钮 和 可 选 分 隔 线 的 控 件 条 。 这 些 按 钮 可以 像 普 通 按 钮 、 核 选 按 钮 或 单 选 按 钮 那 样 动 作 。 CToolBar 对 象 通 常 是 由
CFrameWnd 或 CMDIFrameWnd 派 生 的 框 架 窗 口 对 象 的 嵌 入 成 员 。
CToolBar ::GetToolBarCtrl 是 MFC4.0 后 新 增 加 的 成 员 函 数 , 它 允 许 你 利 用W indows 通 用 控 件 对 工 具 条 的 定 制 及 其 它 性 能 的 支 持 。 CToolBar 的 成 员 函 数 为你 提 供 了 Windows 通 用 控 件 的 大 多 数 性 能 ; 但 是 , 当 你 调 用 Get ToolBar Ctrl 时 , 你 可 以 使 你 的 工 具 条 具 有 更 多 W indows 95 工 具 条 的 特 征 。 参 见 CToolBar Ctrl 可 以 获 得 更 多 有 关 如 何 使 用 W indows 通 用 控 件 来 设 计 工 具 条 的 信 息 。 更 多 有 关通 用 控 件 的 一 般 信 息 , 参 见“ W indows 95 SDK 程 序 员 参 考 ” 中 的“ 通 用 控 件 ”。
Visual C++ 提 供 了 两 种 创 建 一 个 工 具 条 的 方 法 。 要 使 用 资 源 编 辑 器 ( Resource Editor) 创 建 一 个 工 具 条 , 应 遵 循 下 面 的 步 骤 :
-
创 建 一 个 工 具 条 资 源 。
-
构造 CToolBar 对 象 。
-
调用 Creat e(或 CreateEx )函 数 来 创 建 W indows 工 具 条 并 将
它 与 该 CToolBar
对 象 连 接 。
- 调用 LoadToolBar 来 装 入 工 具 条 资 源 。
另 外 , 也 可 以 依 据 下 面 的 步 骤 :
-
构造 CToolBar 对 象 。
-
调用 Create (或 CreateE x) 函 数 来 创 建 W indows 工 具 条 并 将
它 与 CToolBar
对 象 连 接 。
-
调用 LoadBitmap 来 装 入 包 含 工 具 条 按 钮 图 像 的 位 图 。
-
调 用 SetButtons 来 设 置 按 钮 风 格 并 使 每 一 个 按 钮 与 位 图
中 的 一 幅 图 像 关联。
此 工 具 条 中 的 所 有 按 钮 图 像 都 位 于 同 一 个 位 图 , 该 位 图 必 须 为 每 一 个 按 钮 包 含一 个 图 像 。 所 有 的 图 像 都 必 须 是 同 样 大 小 的 。 缺 省 的 尺 寸 是 16 个 像 素 宽 和 15 个 像 素 高 。 这 些 图 像 必 须 一 幅 接 一 幅 的 放 在 位 图 中 。
SetButton 函 数 以 指 向 一 个 控 制 ID 数 组 的 指 针 和 一 个 指 定 数 组 中 元 素 数 目 的 整数 作 为 参 数 。 该 函 数 将 每 个 按 钮 的 ID 值 设 置 为 对 应 的 数 组 元 素 的 值 , 并 赋 予每 个 按 钮 一 个 图 像 索 引 值 , 每 个 索 引 值 指 定 对 应 按 钮 图 像 在 位 图 中 的 位 置 。 如果 某 一 数 组 元 素 的 值 为 ID_SEPARATOR , 则 不 为 其 赋 图 像 索 引 值 。
按 钮 图 像 在 位 图 中 的 次 序 通 常 就 是 图 像 在 屏 幕 上 的 绘 制 次 序 , 但 你 也 可 以 使 用
SetButtonInfo 函 数 来 修 改 图 像 次 序 和 绘 制 次 序 的 关 系 。
一 个 工 具 条 中 的 所 有 按 钮 都 具 有 相 同 的 尺 寸 。 按 照 “ Windows 界 面 软 件 设 计 指南 ” 中 所 说 , 缺 省 尺 寸 为 24 × 22 个 像 素 。 图 像 和 按 钮 之 间 的 任 何 空 白 尺 寸 都可 用 来 在 图 像 周 围 形 成 一 个 边 界 。
每 个 按 钮 具 有 一 幅 图 像 。 按 钮 的 各 种 状 态 和 风 格 ( 被 压 住 , 弹 起 , 按 下 , 无 效 , 无 效 按 下 , 以 及 不 定 ) 都 可 以 由 这 幅 图 像 产 生 。 虽 然 位 图 可 以 是 任 何 颜 色 , 但是 使 用 灰 色 加 黑 色 文 字 及 阴 影 可 实 现 最 好 的 效 果 。
缺 省 情 况 下 , 工 具 条 按 钮 模 拟 普 通 按 钮 。 但 是 , 工 具 条 按 钮 也 可 以 模 拟 复 选 框按 钮 和 单 选 按 钮 。 复 选 框 按 钮 具 有 三 种 状 态 : 核 选 , 清 除 和 不 定 。 单 选 按 钮 值具 有 两 种 状 态 : 核 选 和 清 除 。
要 设 置 单 个 按 钮 或 不 指 向 一 个 数 组 的 分 隔 线 风 格 , 可 以 调 用 GetButtonStyle 来获 取 这 个 风 格 , 然 后 调 用 SetButtonStyle ( 而 不 是 调 用 SetButton ) 。 当 你 要 在运 行 时 改 变 按 钮 的 风 格 时 , SetButtonStyle 是 最 有 用 的 。
要 分 配 显 示 在 一 个 按 钮 上 的 文 本 , 可 以 调 用 GetButtonText 来 获 取 要 显 示 在 该按 钮 上 的 文 本 , 然 后 调 用 SetButtonText 来 设 置 这 些 文 本 。
要 创 建 一 个 复 选 框 按 钮 , 给 它 赋 予 TBBS_CHECKBOX 风 格 或 在 一 个ON_UPDATE_ COMMAND_UI 处 理 程 序 中 使 用 某 个 CCmdUI 对 象 的 SetCheck 成 员 函 数 。调 用 SetCheck 将 一 个 普 通 按 钮 变 成 一 个 复 选 框 按 钮 。传 递 给 SetCheck 函 数 的 参 数 为 0 , 则 按 钮 是 未 核 选 的 , 传 递 1 则 按 钮 被 核 选 , 传 递 2 则 按 钮 为
不 定 状 态 。
要 创 建 一 个 单 选 按 钮 , 在 一 个 ON_UPDATE_COMMAND_UI 处 理 程 序 中 调 用某 个 CCmdUI 对 象 的 SetRadio 成 员 函 数 。 给 SetRadio 传 递 参 数 0 , 则 按 钮 为 未核 选 的 , 传 递 非 零 值 , 则 按 钮 是 被 核 选 的 。 为 了 提 供 一 个 单 选 按 钮 组 的 互 不 相容 性 , 则 组 中 的 每 个 按 钮 都 必 须 具 有 ON_UPDAT_COMMAND_UI 处 理 程 序 。
有 关 使 用 CToolBar 的 更 多 信 息 , 参 见 “ V isual C++ 程 序 员 指 南 ” 中 的 文 章 “工具 条 ” 和 “ Visual C++ 联 机 文 件 ” 中 的 技 术 注 释 31 , 控 制 条 。
# include <afxext.h>
请 参 阅 CToolBarCtrl, CControlBar, CToolBar::Create, CToolBar::LoadBitmap, CToolBar::SetButtons, CCmdUI::SetCheck, CCmdUI::SetRadio
CToolBar 类 成 员
Construction
CtoolBar 创 建 一 个 CtoolBar 对 象
Create 创 建 Windows 工 具 条 并 将 它 与 该 CToolBar 连 接
CreateEx 为 嵌 入 的 CtoolBarCtrl 对 象 创 建 一 个 具 有 附 加 风 格
的 CToolBar 对 象
SetSizes 设 置 按 钮 及 其 位 图 的 尺 寸
SetHeight 设 置 工 具 条 的 高 度
LoadToolBar 装 入 一 个 用 资 源 编 辑 器 创 建 的 工 具 条 资 源
LoadBitmap 装 入 包 含 位 图 - 按 钮 图 像 的 位 图
SetBitmap 设 置 一 个 位 图 中 的 图 像
SetButtons 设 置 按 钮 风 格 和 按 钮 图 像 在 位 图 中 的 索 引
Attributes
CommandToIndex 返 回 具 有 给 定 的 命 令 ID 的 按 钮 的 索 引GetItemID 返 回 具 有 给 定 索 引 值 的 按 钮 或 分 隔 线 的 命 令 ID GetItemRect 获 取 具 有 给 定 索 引 值 的 项 的 显 示 矩 形GetButtonStyle 获 取 一 个 按 钮 的 风 格
SetButtonStyle 设 置 一 个 按 钮 的 风 格
GetButtonInfo 获 取 一 个 按 钮 的 ID , 风 格 和 图 像 号
SetButtonInfo 设 置 一 个 按 钮 的 ID , 风 格 和 图 像 号
GetButtonText 获 取 要 显 示 在 一 个 按 钮 上 的 文 本SetButtonText 设 置 要 显 示 在 一 个 按 钮 上 的 文 本GetToolBarCtrl 允 许 直 接 访 问 基 本 的 通 用 控 件
成 员 函 数
CToolBar::CommandToIndex
int CommandToIndex( UINT nIDFind );
返 回 值
返 回 按 钮 的 索 引 , 如 果 没 有 按 钮 具 有 这 个 给 定 的 命 令 ID , 则 返 回 -1 。
参 数
nIDFind
- 个 工 具 条 按 钮 的 命 令 ID 。
说 明
此 成 员 函 数 返 回 第 一 个 工 具 条 按 钮 的 从 位 置 0 开 始 的 索 引 , 该 按 钮 的 命 令 ID
与 nIDFind 匹 配 。
请 参 阅 CToolBar::GetItemId
CToolBar::Create
BOOL Create( CWnd* pParentWnd , DWORD dwStyle = WS_CHILD | WS_VISIBLE |
CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
pParentWnd
指 向 工 具 条 的 父 窗 口 的 指 针 。
dwStyle
工 具 条 的 风 格 。 下 面 列 出 的 是 此 参 数 支 持 的 附 加 风 格 :
-
CBRS_TOP 控 制 条 位 于 框 架 窗 口 的 顶 部 。
-
CBRS_BOTTOM 控 制 条 位 于 框 架 窗 口 的 底 部 。
-
CBRS_NOALIGN 当 父 窗 口 调 整 尺 寸 时 不 重 定 位 控 制 条 。
-
CBRS_TOOLTIPS 控 制 条 显 示 工 具 提 示 。
-
CBRS_SIZE_DYNAMIC 控 制 条 是 动 态 的 。
-
CBRS_SIZE_FIXED 控 制 条 是 固 定 的 。
-
CBRS_FLOATING 控 制 条 是 浮 动 的 。
-
CBRS_FLYBY 状 态 条 显 示 按 钮 的 信 息 。
-
CBRS_HIDE_INPLACE 控 件 不 显 示 给 用 户 。
ID
工 具 条 子 窗 口 的 ID 。
说 明
此 成 员 函 数 用 来 创 建 一 个 W indows 工 具 条( 一 个 子 窗 口 ) , 并 将 它 与 CToolBan
对 象 连 接 。 它 还 将 工 具 条 的 高 度 设 置 为 缺 省 值 。
请 参 阅 CToolBar::CToolBar, CToolBar::LoadBitmap, CToolBar::SetButtons,
CToolBar::LoadToolBar,CControlBar::CalcDynamicLayout, CControlBar::CalcFixedLayout
CToolBar::CreateEx
BOOL CreateEx( CWnd* pParentWnd , D W O R D dwCtrlStyle = TBSTYLE_FLAT,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect( 0, 0, 0 ), UINT nID = AFX_IDW_TOOLBAR );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
pParentWnd
指 向 工 具 条 的 父 窗 口 的 指 针 。
dwCtrlStyle
嵌 入 CToolBarCtrl 对 象 的 附 加 风 格 。 缺 省 的 , 这 个 值 被 设 置 为
TBSTYLE_FLAT 。 工 具 条 风 格 的 完 整 列 表 , 参 见 dwStyle 。dwStyle
工 具 条 风 格 。 参 见 “ Platform SDK ” 的 “ 工 具 条 控 件 和 按 钮 风 格 ” 可 以
获 得 一 个 相 关 风 格 的 列 表 。
rcBorders
一 个 定 义 工 具 条 窗 口 边 框 的 宽 度 的 CRect 对 象 。 缺 省 的 这 些 边 框 被 设 置为 0 , 0 , 0 , 0 , 这 样 的 工 具 条 窗 口 是 没 有 边 界 的 。
nID
工 具 条 的 子 窗 口 ID 。
说 明
此 成 员 函 数 用 来 创 建 一 个 W indows 工 具 条( 一 个 子 窗 口 ) 并 将 它 与 该 CToolBar
对 象 连 接 。 它 还 将 工 具 条 的 高 度 设 置 为 一 个 缺 省 值 。
当 在 嵌 入 工 具 条 控 件 的 创 建 期 间 需 要 指 定 某 个 特 定 的 风 格 时 , 使 用 CreateEx 来代 替 Create 。 例 如 , 将 dwCtrlStyle 设 置 为 TBSTYLE_FLAT | TBSTYLE_TRANSPARENT 来 创 建 一 个 类 似 于 Internet Explorer 4 工 具 条 的 工
具 条 。
CToolBar::CToolBar
CToolBar( );
说 明
这 个 成 员 函 数 构 造 一 个 CToolBar 对 象 并 将 它 设 置 为 缺 省 尺 寸 。
请 参 阅 CToolBar::Create
CToolBar::GetButtonInfo
void GetButtonInfo( int nIndex, UINT& nID , UINT& nStyle , int& iImage ) const;
参 数
nIndex
要 获 取 其 信 息 的 工 具 条 按 钮 或 分 隔 线 的 索 引 。
nID
对 一 个 被 设 置 为 按 钮 的 命 令 ID 的 UINT 值 的 引 用 。
nStyle
对 一 个 被 设 置 为 按 钮 的 风 格 的 U IN T 值 的 引 用 。
iImage
对 一 个 被 设 置 为 按 钮 的 图 像 在 位 图 中 的 索 引 值 的 整 数 的 引 用 。
说 明
此 成 员 函 数 用 来 获 取 位 于 由 nIndex 指 定 的 位 置 的 工 具 条 按 钮 或 分 隔 线 的 控 制ID , 风 格 和 图 像 索 引 。 这 些 值 被 分 别 赋 给 由 nID , nStyle 和 iImage 引 用 的 变 量 。图 像 索 引 是 图 像 在 位 图 中 的 位 置 , 该 位 图 包 含 了 所 有 工 具 条 按 钮 的 图 像 。 第 一个 图 像 位 于 位 置 0 。
如 果 nIndex 指 定 的 是 一 个 分 隔 线 , 则 iImage 被 设 置 为 以 像 素 表 示 的 分 隔 线 宽度 。
请 参 阅 CToolBar::SetButtonInfo, CToolBar::GetItemID
CToolBar::GetButtonStyle
UINT GetButtonStyle( int nIndex ) const;
返 回 值
返 回 由 nIndex 指 定 的 按 钮 或 分 隔 线 的 风 格 。
参 数
nIndex
要 获 取 其 风 格 的 工 具 条 按 钮 或 分 隔 线 的 索 引 。
此 成 员 函 数 用 来 获 取 工 具 条 上 的 一 个 按 钮 或 分 隔 线 的 风 格 。 一 个 按 钮 的 风 格 确定 了 按 钮 显 示 的 样 子 , 以 及 按 钮 对 用 户 输 入 作 出 的 反 应 。 参 见 SetButtonStyle 可 以 获 得 有 关 按 钮 风 格 的 例 子 。
请 参 阅 CToolBar::SetButtonStyle
CToolBar::GetButtonText
CString GetButtonText( int nIndex ) const;
void GetButtonText( int nIndex , CString& rString ) const;
返 回 值
返 回 包 含 按 钮 的 文 本 的 CString 对 象 。
nIndex
要 获 取 的 文 本 的 索 引 。
rString
一 个 对 CSing 对 象 的 引 用 , 该 对 象 将 包 含 要 被 获 取 的 文 本 。
说 明
此 成 员 函 数 用 来 获 取 显 示 在 一 个 按 钮 上 的 文 本 。 这 个 函 数 的 第 二 种 形 式 用 字 符串 文 本 来 填 充 一 个 CString 对 象 。
请 参 阅 CToolBar::SetButtonText
CToolBar::GetItemID
UINT GetItemID( int nIndex ) const;
返 回 由 nIndex 指 定 的 按 钮 或 分 隔 线 的 命 令 ID 。
参 数
nIndex
要 获 取 其 ID 的 项 的 索 引 。
说 明
此 成 员 函 数 返 回 由 nIndex 指 定 的 按 钮 或 分 隔 线 的 命 令 ID 。 分 隔 线 返 回
ID_SEPARATO R 。
请 参 阅 CToolBar::CommandToIndex, CControlBar::GetCount
CToolBar::GetItemRect
virtual void GetItemRect( int nIndex , LPRECT lpRect );
参 数
nIndex
要 获 取 其 矩 形 坐 标 的 项 ( 按 钮 或 分 隔 线 ) 的 索 引 。
lpRect
将 包 含 项 的 坐 标 的 RECT 结 构 的 地 址 。
说 明
此 成 员 函 数 用 由 nIndex 指 定 的 按 钮 或 分 隔 线 的 坐 标 来 填 充 由 lpRect 指 定 地 址 的
RECT 结 构 。 坐 标 是 以 像 素 为 单 位 的 相 对 于 工 具 条 的 左 上 角 的 值 。
使 用 GetItemRect 函 数 可 以 获 取 要 用 组 合 框 或 其 它 控 件 替 换 的 分 隔 线 的 坐 标 。
CToolBar::GetToolBarCtrl CToolBarCtrl& GetToolBarCtrl( ) const; 返 回 值
返 回 一 个 对 CToolBarCtrl 对 象 的 引 用 。
说 明
此 成 员 函 数 允 许 对 基 本 通 用 控 件 的 直 接 访 问 。
使 用 GetToolBarCtrl 可 以 利 用 Windows 工 具 条 通 用 控 件 的 性 能 , 并 且 可 以 利 用
CToolBarCtrl 为 工 具 条 定 制 提 供 的 支 持 。
有 关 使 用 命 令 控 件 的 更 多 信 息 , 参 见 “ V isual C++ 程 序 员 指 南 ” 中 的 文 章 “控
请 参 阅 CToolBarCtrl
CToolBar::LoadBitmap
BOOL LoadBitmap( LPCTSTR lpszResourceName ); BOOL LoadBitmap( UINT nIDResource );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
lpszResourceName
指 向 要 被 装 入 的 位 图 的 资 源 名 称 的 指 针 。
nIDResource
要 装 入 的 位 图 的 资 源 ID 。
说 明
此 成 员 函 数 用 来 装 入 由 lpszResourceName 或 nIDResource 指 定 的 位 图 。 该 位 图应 该 为 每 一 个 工 具 条 按 钮 包 含 一 个 图 像 。 如 果 该 图 像 不 具 有 标 准 尺 寸 ( 16 像 素宽 , 15 像 素 高 ) , 则 定 义 SetSizes 来 设 置 按 钮 的 尺 寸 和 它 们 的 图 像 。
请 参 阅 CToolBar::Create, CToolBar::SetButtons, CToolBar::SetSizes, CToolBar::LoadToolBar
CToolBar::LoadToolBar
BOOL LoadToolBar( LPCTSTR lpszResourceName ); BOOL LoadToolBar( UINT nIDResource );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
lpszResourceName
指 向 要 被 装 入 的 工 具 条 的 资 源 名 称 的 指 针 。
nIDResource
要 装 入 的 工 具 条 的 资 源 ID 。
说 明
此 成 员 函 数 用 来 装 入 由 lpszResourceName 或 nIDResource 指 定 的 工 具 条 。
参 见 “ Visual C++ 用 户 指 南 ” 中 的 “ 工 具 条 编 辑 器 ” 可 以 获 得 有 关 创 建 一 个 工具 条 资 源 的 更 多 信 息 。
CToolBar::SetBitmap
BOOL SetBitmap( HBITMAP hbmImageWell );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
hbmImageWell
- 个 与 工 具 条 相 关 联 的 位 图 图 像 的 句 柄 。
说 明
此 成 员 函 数 用 来 为 工 具 条 设 置 位 图 图 像 。 例 如 , 在 用 户 对 文 档 采 取 了 可 以 改 变
CToolBar::SetButtonInfo
void SetButtonInfo( int nIndex , UINT nID , U INT nStyle , int iImage );
参 数
nIndex
要 设 置 其 信 息 的 按 钮 或 分 隔 线 的 索 引 。
nID
要 给 按 钮 的 命 令 ID 设 置 的 值 。
nStyle
新 的 按 钮 风 格 。 下 面 的 按 钮 风 格 是 被 支 持 的 :
-
TBBS_BUTTON 标 准 按 钮 ( 缺 省 的 )
-
TBBS_SEPARATOR 分 隔 线 。
-
TBBS_CHECKBOX 自 动 复 选 框 按 钮 。
-
TBBS_GROUP 标 记 一 个 按 钮 组 的 开 始 。
-
TBBS_CHECKGROUP 标 记 一 个 复 选 框 按 钮 组 的 开 始 。
iImage
按 钮 的 图 像 在 位 图 中 的 新 索 引 。
说 明
此 成 员 函 数 用 来 设 置 按 钮 的 命 令 ID , 风 格 和 图 像 号 。 对 于 具 有TBBS_SEPARATOR 风 格 的 分 隔 线 , 这 个 函 数 将 分 隔 线 的 以 像 素 为 单 位 的 宽 度设 置 为 保 存 在 iImage 中 的 值 。
有 关 位 图 图 像 和 按 钮 的 更 多 信 息 , 参 见 CToolBar 概 述 和
CToolBar::LoadBitmap 。
请 参 阅 CToolBar::GetButtonInfo
CToolBar::SetButtons
BOOL SetButtons( const UINT* lpIDArray ,int nIDCount );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
lpIDArray
指 向 一 个 命 令 Ids 数 组 的 指 针 。 它 可 以 是 NULL , 用 于 分 配 空 的 按 钮 。
nIDCount
由 lpIDArray 指 向 的 数 组 的 元 素 数 目 。
说 明
此 成 员 函 数 用 来 将 每 一 个 工 具 条 按 钮 的 命 令 ID 设 置 为 由 数 组 lpIDArray 的 相 应元 素 指 定 的 值 。 如 果 该 数 组 的 某 个 元 素 的 值 是 ID_SEPARATOR , 则 在 工 具 条的 相 应 位 置 创 建 一 个 分 隔 线 。 这 个 函 数 还 将 每 个 控 件 的 风 格 设 置 为TBBS_BUTTON , 将 每 个 分 隔 线 的 风 格 设 置 为 TBBS_SEPARATOR , 并 为 每 一个 按 钮 分 配 一 个 图 像 索 引 。 图 像 索 引 指 定 了 按 钮 的 图 像 在 位 图 中 的 位 置 。
你 不 用 在 位 图 中 说 明 分 隔 线 , 因 为 这 个 函 数 不 给 分 隔 线 分 配 图 像 索 引 。 如 果 你的 工 具 条 有 位 于 位 置 0 , 1 和 3 的 按 钮 , 有 位 于 位 置 2 的 分 隔 线 , 则 位 于 你 的位 图 中 的 位 置 0 , 1 , 和 2 的 图 像 将 被 分 别 分 配 给 位 置 0 , 1 和 3 的 位 图 。
如 果 lpIDArray 是 NULL , 则 此 函 数 按 nIDCount 指 定 的 项 数 分 配 空 间 。 使 用
SetButtonInfo 可 以 设 置 每 一 个 项 的 属 性 。
请 参 阅 CToolBar::Create, CToolBar::SetButtonInfo, CToolBar::SetButtonStyle, CToolBar::LoadToolBar
CToolBar::SetButtonStyle
void SetButtonStyle( int nIndex , UINT nStyle );
参 数
nIndex
要 设 置 其 风 格 的 按 钮 或 分 隔 线 的 索 引 。
nStyle
按 钮 风 格 。 下 面 的 按 钮 风 格 都 是 被 支 持 的 :
-
TBBS_BUTTON 标 准 按 钮 ( 缺 省 的 )
-
TBBS_SEPARATOR 分 隔 线 。
-
TBBS_CHECKBOX 自 动 复 选 框 按 钮 。
-
TBBS_GROUP 标 记 一 个 按 钮 组 的 开 始 。
-
TBBS_CHECKGROUP 标 记 一 个 复 选 框 按 钮 组 的 开 始 。
说 明
此 成 员 函 数 用 来 设 置 一 个 按 钮 或 分 隔 线 或 按 钮 组 的 风 格 。 一 个 按 钮 的 风 格 决 定了 按 钮 是 如 何 显 示 的 , 以 及 它 对 用 户 的 输 入 是 如 何 反 应 的 。
在 调 用 SetButtonStyle 之 前 , 调 用 GetButtonStyle 成 员 函 数 来 获 取 该 按 钮 或 分 隔线 的 风 格 。
请 参 阅 CToolBar::GetButtonStyle
CToolBar::SetButtonText
BOOL SetButtonText( int nIndex , LPCTSTR lpszText );
返 回 值
如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。
参 数
nIndex
要 设 置 其 文 本 的 按 钮 的 索 引 。
lpszText
指 向 要 被 设 置 到 一 个 按 钮 上 的 文 本 。
说 明
此 成 员 函 数 用 来 设 置 一 个 按 钮 上 的 文 本 。
请 参 阅 CToolBar::GetButtonText
CToolBar::SetHeight
void SetHeight( int cyHeight );
参 数
cyHeight
是 工 具 条 的 以 像 素 表 示 的 高 度 。
说 明
此 成 员 函 数 用 来 将 工 具 条 的 高 度 设 置 为 在 cyHeight 中 指 定 的 以 像 素 表 示 的 值 。
在 调 用 SetSize 之 后 , 可 以 使 用 这 个 成 员 函 数 来 重 新 设 置 这 个 标 准 工 具 条 的 高度 。 如 果 这 个 高 度 太 小 , 则 按 钮 将 被 从 底 部 剪 切 。
如 果 没 有 调 用 这 个 函 数 , 则 框 架 使 用 该 按 钮 的 尺 寸 来 确 定 此 工 具 条 的 高 度 。
请 参 阅 CToolBar::SetSizes, CToolBar::SetButtonInfo, CToolBar::SetButtons
CToolBar::SetSizes
void SetSizes( SIZE sizeButton , SIZE sizeImage );
参 数
sizeButton
每 个 按 钮 的 用 像 素 表 示 的 尺 寸 。
sizeImage
每 个 图 像 的 以 像 素 表 示 的 尺 寸 。
说 明
此 成 员 函 数 用 来 将 工 具 条 的 按 钮 的 尺 寸 设 置 为 在 sizeButton 中 指 定 的 以 像 素 表示 的 尺 寸 。 sizeImage 参 数 必 须 包 含 在 工 具 条 位 图 中 的 图 像 的 以 像 素 表 示 的 尺寸 。 sizeButton 中 的 空 间 必 须 足 够 大 以 能 存 放 在 宽 度 上 加 7 个 像 素 , 在 高 度 上
加 6 个 像 素 的 按 钮 图 像 。 此 函 数 还 用 来 设 置 工 具 条 的 高 度 以 使 它 能 与 按 钮 相 适合 。
只 有 当 工 具 条 不 采 用 “ W indows 界 面 软 件 设 计 ” 中 推 荐 的 按 钮 和 图 像 尺 寸 时 , 才 调 用 这 个 函 数 。
请 参 阅 CToolBar::LoadBitmap, CToolBar::SetButtonInfo, CToolBar::SetButtons,