自定义工具栏控件的外观

CToolBarCtrl 类提供了许多样式,这些样式会影响外观(有时也会影响工具栏对象的行为)。 首次创建工具栏控件时,通过设置 CToolBarCtrl::Create(或 CToolBar::CreateEx)成员函数的 dwCtrlStyle 参数来修改工具栏对象。

以下样式会影响工具栏按钮的“3D”特征以及按钮文本的位置:

  • TBSTYLE_FLAT 创建一个平面工具栏,其中工具栏和按钮都是透明的。 按钮文本显示在按钮位图下方。 使用此样式时,光标下方的按钮会自动突出显示。

  • TBSTYLE_TRANSPARENT 创建透明工具栏。 在透明工具栏中,工具栏是透明的,但按钮不是。 按钮文本显示在按钮位图下方。

  • TBSTYLE_LIST 将按钮文本置于按钮位图右侧。

注意

为防止重新绘制问题,应在工具栏对象可见之前设置 TBSTYLE_FLATTBSTYLE_TRANSPARENT 样式。

以下样式确定工具栏是否允许用户使用拖放操作来重新定位工具栏对象内的各个按钮:

  • TBSTYLE_ALTDRAG 允许用户通过在按住 Alt 时拖动工具栏按钮来更改工具栏按钮的位置。 如果未指定此样式,用户必须在拖动按钮时按住 Shift。

    注意

    必须指定 CCS_ADJUSTABLE 样式才能启用要拖动的工具栏按钮。

  • TBSTYLE_REGISTERDROP 在鼠标指针经过工具栏按钮时,生成 TBN_GETOBJECT 通知消息以请求放置目标对象。

其余样式会影响工具栏对象的视觉和非可视方面:

  • TBSTYLE_WRAPABLE 创建一个工具栏,该工具栏可包含多个按钮行。 当工具栏变得太窄,无法包含同一行上的所有按钮时,工具栏按钮可以“跳”到下一行。 包装发生在分离和非组边界上。

  • TBSTYLE_CUSTOMERASE 在处理 WM_ERASEBKGND 消息时生成 NM_CUSTOMDRAW 通知消息。

  • TBSTYLE_TOOLTIPS 创建一个工具提示控件,应用程序可将其用于显示工具栏中按钮的描述性文本。

有关工具栏样式和扩展样式的完整列表,请参阅 Windows SDK 中的工具栏控件和按钮样式工具栏扩展样式

另请参阅

使用 CToolBarCtrl
Controls