自定义工具栏 (ToolBar) 控件的外观

来源:互联网 发布:js获取button点击事件 编辑:程序博客网 时间:2024/05/18 01:41
 

CToolBarCtrl 类提供许多影响工具栏对象外观(并且有时是行为)的样式。首次创建工具栏 (ToolBar) 控件时,通过设置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   创建应用程序可用来显示工具栏按钮的描述性文本的工具提示 (ToolTip) 控件。

有关工具栏样式和扩展样式的完整列表,请参见 Platform SDK 中的工具栏 (ToolBar) 控件和按钮样式和工具栏扩展样式。