Skip to content

组合框控件(ComboBoxW)

增强型组合框控件,支持视觉样式、自绘、大小写控制和提示文本。

枚举

CboStyleConstants

常量说明
CboStyleDropDownCombo0下拉组合框
CboStyleSimpleCombo1简单组合框
CboStyleDropDownList2下拉列表

CboCharacterCasingConstants

常量说明
CboCharacterCasingNormal0正常大小写
CboCharacterCasingUpper1大写
CboCharacterCasingLower2小写

CboDrawModeConstants

常量说明
CboDrawModeNormal0正常模式
CboDrawModeOwnerDrawFixed1固定高度自绘
CboDrawModeOwnerDrawVariable2可变高度自绘

属性

VisualStyles

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

是否启用视觉样式。

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)

前景色。

OLEDropMode

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

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

Redraw

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

是否允许重绘。

Style

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

组合框样式。

Locked

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

是否锁定(不可编辑)。

Text

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

编辑框文本。

ExtendedUI

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

扩展用户界面模式。

MaxDropDownItems

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

下拉列表最大显示项数。

IntegralHeight

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

是否按整项高度调整列表大小。

MaxLength

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

编辑框最大字符数。

CueBanner

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

提示文本(编辑框为空时显示)。

UseListBackColor

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

是否使用自定义列表背景色。

ListBackColor

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

下拉列表背景色。

UseListForeColor

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

是否使用自定义列表前景色。

ListForeColor

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

下拉列表前景色。

Sorted

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

是否自动排序。

HorizontalExtent

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

下拉列表水平滚动范围。

DisableNoScroll

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

当项目不足以填满时是否禁用滚动条而非隐藏。

CharacterCasing

vb
Property Get CharacterCasing() As CboCharacterCasingConstants
Property Let CharacterCasing(ByVal Value As CboCharacterCasingConstants)

字符大小写模式。

DrawMode

vb
Property Get DrawMode() As CboDrawModeConstants
Property Let DrawMode(ByVal Value As CboDrawModeConstants)

绘制模式。

IMEMode

vb
Property Get IMEMode() As CCIMEModeConstants
Property Let IMEMode(ByVal Value As CCIMEModeConstants)

输入法模式。参见通用枚举。

ScrollTrack

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

是否启用滚动跟踪。

AutoSelect

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

是否自动选择匹配项。

AlwaysFindExact

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

是否始终精确查找。

ListCount

vb
Property Get ListCount() As Long

列表项数。只读。

List

vb
Property Get List(ByVal Index As Long) As String
Property Let List(ByVal Index As Long, ByVal Value As String)

按索引存取列表项。

ListIndex

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

当前选中项索引。

ItemData

vb
Property Get ItemData(ByVal Index As Long) As Long
Property Let ItemData(ByVal Index As Long, ByVal Value As Long)

列表项关联数据。

NewIndex

vb
Property Get NewIndex() As Long

最近添加项的索引。只读。

TopIndex

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

列表顶部可见项索引。

SelStart

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

选中文本起始位置。

SelLength

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

选中文本长度。

SelText

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

选中文本。

ItemHeight

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

列表项高度。

FieldHeight

vb
Property Get FieldHeight() As Single

编辑框高度。只读。

DroppedDown

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

下拉列表是否展开。

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

下拉列表宽度。

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

下拉列表高度。

hWndEdit

vb
Property Get hWndEdit() As LongPtr

编辑框窗口句柄。只读。

hWndList

vb
Property Get hWndList() As LongPtr

列表框窗口句柄。只读。

hWnd / hWndUserControl / Font / Enabled / MousePointer / MouseIcon / MouseTrack

参见公共属性。

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

参见标准扩展器属性。

方法

AddItem

vb
Public Sub AddItem(ByVal Item As String, Optional ByVal Index As Variant)

添加列表项。

RemoveItem

vb
Public Sub RemoveItem(ByVal Index As Long)

移除列表项。

Clear

vb
Public Sub Clear()

清空所有列表项。

Refresh

vb
Public Sub Refresh()

强制重绘。

FindItem

vb
Public Function FindItem(ByVal SearchString As String, Optional ByVal StartIndex As Long, Optional ByVal FindMode As Long) As Long

查找列表项,返回索引。

GetIdealHorizontalExtent

vb
Public Function GetIdealHorizontalExtent() As Long

获取理想的水平滚动范围。

SelectItem

vb
Public Sub SelectItem(ByVal SearchString As String)

选择匹配的列表项。

OLEDrag

vb
Public Sub OLEDrag()

启动 OLE 拖放。

Drag / ZOrder / SetFocus / Move

参见标准方法。

事件

Click

vb
Public Event Click()

DblClick

vb
Public Event DblClick()

Scroll

vb
Public Event Scroll()

列表滚动时触发。

Change

vb
Public Event Change()

文本内容改变时触发。

ContextMenu

vb
Public Event ContextMenu()

右键菜单。

vb
Public Event DropDown()

下拉列表展开。

CloseUp

vb
Public Event CloseUp()

下拉列表关闭。

ItemMeasure

vb
Public Event ItemMeasure(ByVal Index As Long, ByVal ItemWidth As Long, ByVal ItemHeight As Long)

自绘测量事件。

ItemDraw

vb
Public Event ItemDraw(ByVal Index As Long, ByVal ItemState As Long, ByVal hDC As LongPtr, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long)

自绘绘制事件。

KeyDown / KeyUp / KeyPress

MouseDown / MouseMove / MouseUp / MouseEnter / MouseLeave

OLECompleteDrag / OLEDragDrop / OLEDragOver / OLEGiveFeedback / OLESetData / OLEStartDrag

代码示例

基本用法

vb
' 添加项目
ComboBoxW1.AddItem "苹果"
ComboBoxW1.AddItem "香蕉"
ComboBoxW1.ListIndex = 0

' 设置提示文本
ComboBoxW1.CueBanner = "请选择水果..."

' 大写模式
ComboBoxW1.CharacterCasing = CboCharacterCasingUpper

' 自绘模式
ComboBoxW1.DrawMode = CboDrawModeOwnerDrawFixed

自绘示例

vb
Private Sub ComboBoxW1_ItemDraw(ByVal Index As Long, ByVal ItemState As Long, _
    ByVal hDC As LongPtr, ByVal Left As Long, ByVal Top As Long, _
    ByVal Right As Long, ByVal Bottom As Long)
    ' 绘制自定义列表项
End Sub

VB6及其LOGO版权为微软公司所有