Skip to content

冷却栏控件(CoolBar) ​

封装 ReBar 系统控件,实现可拖拽、可调整大小的带状容器栏。

枚举 ​

CbrOrientationConstants ​

常量值说明
CbrOrientationHorizontal0水平方向
CbrOrientationVertical1垂直方向

CbrBandStyleConstants ​

常量值说明
CbrBandStyleNormal0正常样式,可调整大小
CbrBandStyleFixedSize1固定大小

CbrBandGripperConstants ​

常量值说明
CbrBandGripperNormal0默认抓握条
CbrBandGripperAlways1始终显示抓握条
CbrBandGripperNever2不显示抓握条

CbrHitResultConstants ​

常量值说明
CbrHitResultNoWhere0空白区域
CbrHitResultCaption1标题区域
CbrHitResultClient2客户区
CbrHitResultGrabber3抓握条
CbrHitResultChevron4折叠箭头
CbrHitResultSplitter5分隔条

属性 ​

VisualStyles ​

vb
Property Get VisualStyles() As Boolean
Property Let VisualStyles(ByVal Value As Boolean)

是否启用视觉样式。

Enabled ​

vb
Property Get Enabled() As Boolean
Property Let Enabled(ByVal Value As Boolean)

是否可用。

OLEDropMode ​

vb
Property Get OLEDropMode() As OLEDropModeConstants
Property Let OLEDropMode(ByVal Value As OLEDropModeConstants)

OLE 拖放模式。参见通用枚举。

MousePointer ​

vb
Property Get MousePointer() As CCMousePointerConstants
Property Let MousePointer(ByVal Value As CCMousePointerConstants)

鼠标指针。参见通用枚举。

MouseIcon ​

vb
Property Get MouseIcon() As IPictureDisp
Property Let MouseIcon(ByVal Value As IPictureDisp)
Property Set MouseIcon(ByVal Value As IPictureDisp)

自定义鼠标图标。

MouseTrack ​

vb
Property Get MouseTrack() As Boolean
Property Let MouseTrack(ByVal Value As Boolean)

鼠标进入/离开跟踪。

RightToLeft ​

vb
Property Get RightToLeft() As Boolean
Property Let RightToLeft(ByVal Value As Boolean)

从右到左显示。

RightToLeftLayout ​

vb
Property Get RightToLeftLayout() As Boolean
Property Let RightToLeftLayout(ByVal Value As Boolean)

从右到左镜像布局。

RightToLeftMode ​

vb
Property Get RightToLeftMode() As CCRightToLeftModeConstants
Property Let RightToLeftMode(ByVal Value As CCRightToLeftModeConstants)

从右到左模式。参见通用枚举。

ImageList ​

vb
Property Get ImageList() As Variant
Property Let ImageList(ByVal Value As Variant)
Property Set ImageList(ByVal Value As Variant)

关联的 ImageList 控件。

BackColor ​

vb
Property Get BackColor() As OLE_COLOR
Property Let BackColor(ByVal Value As OLE_COLOR)

背景色。

ForeColor ​

vb
Property Get ForeColor() As OLE_COLOR
Property Let ForeColor(ByVal Value As OLE_COLOR)

前景色。

BorderStyle ​

vb
Property Get BorderStyle() As Integer
Property Let BorderStyle(ByVal Value As Integer)

边框样式(0-无边框,1-固定单线)。

Orientation ​

vb
Property Get Orientation() As CbrOrientationConstants
Property Let Orientation(ByVal Value As CbrOrientationConstants)

方向。

BandBorders ​

vb
Property Get BandBorders() As Boolean
Property Let BandBorders(ByVal Value As Boolean)

是否在带之间显示分隔线。

FixedOrder ​

vb
Property Get FixedOrder() As Boolean
Property Let FixedOrder(ByVal Value As Boolean)

是否禁止用户重新排列带。

VariantHeight ​

vb
Property Get VariantHeight() As Boolean
Property Let VariantHeight(ByVal Value As Boolean)

是否允许带具有不同高度。

Picture ​

vb
Property Get Picture() As IPictureDisp
Property Let Picture(ByVal Value As IPictureDisp)
Property Set Picture(ByVal Value As IPictureDisp)

背景图片。

DblClickToggle ​

vb
Property Get DblClickToggle() As Boolean
Property Let DblClickToggle(ByVal Value As Boolean)

双击是否切换最大化/最小化。

VerticalGripper ​

vb
Property Get VerticalGripper() As Boolean
Property Let VerticalGripper(ByVal Value As Boolean)

垂直方向时是否使用垂直抓握条。

ShowTips ​

vb
Property Get ShowTips() As Boolean
Property Let ShowTips(ByVal Value As Boolean)

是否显示工具提示。

DoubleBuffer ​

vb
Property Get DoubleBuffer() As Boolean
Property Let DoubleBuffer(ByVal Value As Boolean)

是否启用双缓冲减少闪烁。

Bands ​

vb
Property Get Bands() As CbrBands

带的集合。

ContainedControls ​

vb
Property Get ContainedControls() As VBRUN.ContainedControls

包含的控件集合。只读。

RowCount ​

vb
Property Get RowCount() As Long

行数。只读。

hWnd / hWndUserControl / Font ​

参见公共属性。

Name / Tag / Parent / Container / Left / Top / Width / Height / Visible / ToolTipText / WhatsThisHelpID / Align / DragIcon / DragMode ​

参见标准扩展器属性。

方法 ​

Refresh ​

vb
Public Sub Refresh()

强制重绘。

HitTest ​

vb
Public Function HitTest(ByVal X As Single, ByVal Y As Single, Optional ByRef HitResult As CbrHitResultConstants) As CbrBand

命中测试,返回指定坐标处的带对象。

OLEDrag ​

vb
Public Sub OLEDrag()

Drag / ZOrder ​

参见标准方法。

事件 ​

Click ​

vb
Public Event Click()

单击。

DblClick ​

vb
Public Event DblClick()

双击。

Resize ​

vb
Public Event Resize()

大小改变。

HeightChanged ​

vb
Public Event HeightChanged(ByVal NewHeight As Single)

高度改变。

LayoutChanged ​

vb
Public Event LayoutChanged()

布局改变。

MinMax ​

vb
Public Event MinMax(ByRef Cancel As Boolean)

带即将最大化或最小化,可取消。

BandBeforeDrag ​

vb
Public Event BandBeforeDrag(ByVal Band As CbrBand, ByRef Cancel As Boolean)

带即将被拖动,可取消。

BandAfterDrag ​

vb
Public Event BandAfterDrag(ByVal Band As CbrBand, ByVal NewPosition As Long)

带拖动完成。

BandChevronPushed ​

vb
Public Event BandChevronPushed(ByVal Band As CbrBand, ByVal Left As Single, ByVal Top As Single, ByVal Width As Single, ByVal Height As Single)

折叠箭头被点击。

BandMouseEnter ​

vb
Public Event BandMouseEnter(ByVal Band As CbrBand)

鼠标进入带。

BandMouseLeave ​

vb
Public Event BandMouseLeave(ByVal Band As CbrBand)

鼠标离开带。

MouseDown / MouseMove / MouseUp / MouseEnter / MouseLeave ​

OLECompleteDrag / OLEDragDrop / OLEDragOver / OLEGiveFeedback / OLESetData / OLEStartDrag ​

CbrBand 对象 ​

带的属性和方法。

属性 ​

Index ​

vb
Property Get Index() As Long

带在集合中的索引。只读。

Key ​

vb
Property Get Key() As String
Property Let Key(ByVal Value As String)

带的关键字。

Tag ​

vb
Property Get Tag() As Variant
Property Let Tag(ByVal Value As Variant)
Property Set Tag(ByVal Value As Variant)

自定义数据。

ID ​

vb
Property Get ID() As Long

内部标识。只读。

Caption ​

vb
Property Get Caption() As String
Property Let Caption(ByVal Value As String)

带标题。

Child ​

vb
Property Get Child() As Object
Property Let Child(ByVal Value As Object)
Property Set Child(ByVal Value As Object)

带中包含的子控件。

Style ​

vb
Property Get Style() As CbrBandStyleConstants
Property Let Style(ByVal Value As CbrBandStyleConstants)

带样式。

Image ​

vb
Property Get Image() As Variant
Property Let Image(ByVal Value As Variant)

ImageList 中图像的索引或关键字。

ImageIndex ​

vb
Property Get ImageIndex() As Long

图像索引。只读。

Width ​

vb
Property Get Width() As Single
Property Let Width(ByVal Value As Single)

带宽度。Style 为 FixedSize 时只读。

Height ​

vb
Property Get Height() As Single

带高度。只读。

MinWidth ​

vb
Property Get MinWidth() As Single
Property Let MinWidth(ByVal Value As Single)

最小宽度。

MinHeight ​

vb
Property Get MinHeight() As Single
Property Let MinHeight(ByVal Value As Single)

最小高度。

IdealWidth ​

vb
Property Get IdealWidth() As Single
Property Let IdealWidth(ByVal Value As Single)

理想宽度。

Gripper ​

vb
Property Get Gripper() As CbrBandGripperConstants
Property Let Gripper(ByVal Value As CbrBandGripperConstants)

抓握条样式。

ToolTipText ​

vb
Property Get ToolTipText() As String
Property Let ToolTipText(ByVal Value As String)

工具提示文本。需要 ShowTips 为 True。

UseCoolBarPicture ​

vb
Property Get UseCoolBarPicture() As Boolean
Property Let UseCoolBarPicture(ByVal Value As Boolean)

是否使用 CoolBar 的背景图片。

Picture ​

vb
Property Get Picture() As IPictureDisp
Property Let Picture(ByVal Value As IPictureDisp)
Property Set Picture(ByVal Value As IPictureDisp)

带的背景图片。

UseCoolBarColors ​

vb
Property Get UseCoolBarColors() As Boolean
Property Let UseCoolBarColors(ByVal Value As Boolean)

是否使用 CoolBar 的前景/背景色。

BackColor ​

vb
Property Get BackColor() As OLE_COLOR
Property Let BackColor(ByVal Value As OLE_COLOR)

带背景色。

ForeColor ​

vb
Property Get ForeColor() As OLE_COLOR
Property Let ForeColor(ByVal Value As OLE_COLOR)

带前景色。

NewRow ​

vb
Property Get NewRow() As Boolean
Property Let NewRow(ByVal Value As Boolean)

是否在新行开始。

Visible ​

vb
Property Get Visible() As Boolean
Property Let Visible(ByVal Value As Boolean)

是否可见。

ChildEdge ​

vb
Property Get ChildEdge() As Boolean
Property Let ChildEdge(ByVal Value As Boolean)

是否在子控件上下显示边缘。

UseChevron ​

vb
Property Get UseChevron() As Boolean
Property Let UseChevron(ByVal Value As Boolean)

带宽小于理想宽度时是否显示折叠箭头。

HideCaption ​

vb
Property Get HideCaption() As Boolean
Property Let HideCaption(ByVal Value As Boolean)

是否隐藏标题。

FixedBackground ​

vb
Property Get FixedBackground() As Boolean
Property Let FixedBackground(ByVal Value As Boolean)

背景图片是否固定不动。

Position ​

vb
Property Get Position() As Long
Property Let Position(ByVal Value As Long)

带的位置。

方法 ​

Maximize ​

vb
Public Sub Maximize()

最大化带。

Minimize ​

vb
Public Sub Minimize()

最小化带。

PushChevron ​

vb
Public Sub PushChevron()

程序化点击折叠箭头。

CbrBands 集合 ​

带的集合对象。

属性 ​

Item ​

vb
Property Get Item(ByVal Index As Variant) As CbrBand

按索引或关键字获取带。

ItemFromPosition ​

vb
Property Get ItemFromPosition(ByVal Position As Long) As CbrBand

按位置获取带。

Count ​

vb
Property Get Count() As Long

带数量。

方法 ​

Add ​

vb
Public Function Add(Optional ByVal Index As Long, Optional ByVal Key As String, Optional ByVal Caption As String, Optional ByVal Image As Variant, Optional ByVal NewRow As Boolean, Optional ByVal Child As Variant, Optional ByVal Visible As Boolean = True) As CbrBand

添加新带。

Remove ​

vb
Public Sub Remove(ByVal Index As Variant)

移除带。

Clear ​

vb
Public Sub Clear()

清空所有带。

Exists ​

vb
Public Function Exists(ByVal Index As Variant) As Boolean

检查带是否存在。

CbrBandProperties 对象 ​

带颜色属性的辅助对象。

属性 ​

BackColor ​

vb
Property Get BackColor() As OLE_COLOR
Property Let BackColor(ByVal Value As OLE_COLOR)

背景色。

ForeColor ​

vb
Property Get ForeColor() As OLE_COLOR
Property Let ForeColor(ByVal Value As OLE_COLOR)

前景色。

代码示例 ​

基本用法 ​

vb
' 添加带
With CoolBar1.Bands
    .Add Key:="Band1", Caption:="工具栏", NewRow:=True
    .Add Key:="Band2", Caption:="格式栏"
End With

' 设置子控件
Set CoolBar1.Bands("Band1").Child = Toolbar1

' 设置带属性
CoolBar1.Bands(1).UseChevron = True
CoolBar1.Bands(1).IdealWidth = 500

命中测试 ​

vb
Private Sub CoolBar1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim HitResult As CbrHitResultConstants
    Dim Band As CbrBand
    Set Band = CoolBar1.HitTest(X, Y, HitResult)
    If Not Band Is Nothing Then
        Debug.Print "点击了: " & Band.Caption
    End If
End Sub

折叠箭头事件 ​

vb
Private Sub CoolBar1_BandChevronPushed(ByVal Band As CbrBand, _
    ByVal Left As Single, ByVal Top As Single, _
    ByVal Width As Single, ByVal Height As Single)
    ' 在折叠箭头位置显示菜单
    PopupMenu mnuToolbar, , Left, Top + Height
End Sub

twinBASIC及其LOGO版权为作者"韦恩"所有