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) 创 建 一 个 工 具 条 , 应 遵 循 下 面 的 步 骤 :

  1. 创 建 一 个 工 具 条 资 源 。

  2. 构造 CToolBar 对 象 。

  3. 调用 Creat e(或 CreateEx )函 数 来 创 建 W indows 工 具 条 并 将

    它 与 该 CToolBar

对 象 连 接 。

  1. 调用 LoadToolBar 来 装 入 工 具 条 资 源 。

另 外 , 也 可 以 依 据 下 面 的 步 骤 :

  1. 构造 CToolBar 对 象 。

  2. 调用 Create (或 CreateE x) 函 数 来 创 建 W indows 工 具 条 并 将

    它 与 CToolBar

对 象 连 接 。

  1. 调用 LoadBitmap 来 装 入 包 含 工 具 条 按 钮 图 像 的 位 图 。

  2. 调 用 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 。 工 具 条 风 格 的 完 整 列 表 , 参 见 dwStyledwStyle

工 具 条 风 格 。 参 见 “ 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 , 风 格 和 图 像 索 引 。 这 些 值 被 分 别 赋 给 由 nIDnStyleiImage 引 用 的 变 量 。图 像 索 引 是 图 像 在 位 图 中 的 位 置 , 该 位 图 包 含 了 所 有 工 具 条 按 钮 的 图 像 。 第 一个 图 像 位 于 位 置 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 。

说 明

此 成 员 函 数 用 来 装 入 由 lpszResourceNamenIDResource 指 定 的 位 图 。 该 位 图应 该 为 每 一 个 工 具 条 按 钮 包 含 一 个 图 像 。 如 果 该 图 像 不 具 有 标 准 尺 寸 ( 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 。

说 明

此 成 员 函 数 用 来 装 入 由 lpszResourceNamenIDResource 指 定 的 工 具 条 。

参 见 “ 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,