Skip to content

字体组合框控件(FontCombo) ​

提供带最近使用列表的字体选择组合框控件,可枚举系统字体并按类型和间距过滤。

枚举 ​

FtcStyleConstants ​

常量值说明
FtcStyleDropDownCombo0下拉组合框(可输入)
FtcStyleSimpleCombo1简单组合框(列表始终可见)
FtcStyleDropDownList2下拉列表(仅选择)

FtcFontTypeConstants ​

常量值说明
FtcFontTypeTrueType0仅 TrueType 字体
FtcFontTypeBitmap1仅位图字体
FtcFontTypeBitmapTrueType2位图和 TrueType 字体

FtcFontPitchConstants ​

常量值说明
FtcFontPitchAll0所有间距
FtcFontPitchFixed1固定间距
FtcFontPitchVariable2可变间距

属性 ​

Name ​

vb
Property Get Name() As String

返回控件的名称。

Tag ​

vb
Property Get/Let Tag() As String

返回/设置控件的标记值。

Parent ​

vb
Property Get Parent() As Object

返回控件的父对象。

Container ​

vb
Property Get/Set Container() As Object

返回/设置控件的容器。

Left ​

vb
Property Get/Let Left() As Single

返回/设置控件左边缘的位置。

Top ​

vb
Property Get/Let Top() As Single

返回/设置控件上边缘的位置。

Width ​

vb
Property Get/Let Width() As Single

返回/设置控件的宽度。

Height ​

vb
Property Get/Let Height() As Single

返回/设置控件的高度。

Visible ​

vb
Property Get/Let Visible() As Boolean

返回/设置控件是否可见。

ToolTipText ​

vb
Property Get/Let ToolTipText() As String

返回/设置控件的工具提示文本。

HelpContextID ​

vb
Property Get/Let HelpContextID() As Long

返回/设置控件的帮助上下文 ID。

WhatsThisHelpID ​

vb
Property Get/Let WhatsThisHelpID() As Long

返回/设置控件的"这是什么"帮助 ID。

DragIcon ​

vb
Property Get/Let/Set DragIcon() As IPictureDisp

返回/设置拖动操作时显示的图标。

DragMode ​

vb
Property Get/Let DragMode() As Integer

返回/设置拖动模式(手动或自动)。

hWnd ​

vb
Property Get hWnd() As LongPtr

返回组合框的窗口句柄。

hWndUserControl ​

vb
Property Get hWndUserControl() As LongPtr

返回 UserControl 的窗口句柄。

hWndEdit ​

vb
Property Get hWndEdit() As LongPtr

返回编辑框部分的窗口句柄。

hWndList ​

vb
Property Get hWndList() As LongPtr

返回列表部分的窗口句柄。

Font ​

vb
Property Get/Let/Set Font() As StdFont

返回/设置控件使用的字体。

VisualStyles ​

vb
Property Get/Let VisualStyles() As Boolean

返回/设置是否启用视觉样式。

BackColor ​

vb
Property Get/Let BackColor() As OLE_COLOR

返回/设置控件的背景色。

ForeColor ​

vb
Property Get/Let ForeColor() As OLE_COLOR

返回/设置控件的前景色。

Enabled ​

vb
Property Get/Let Enabled() As Boolean

返回/设置控件是否可用。

OLEDragMode ​

vb
Property Get/Let OLEDragMode() As VBRUN.OLEDragConstants

返回/设置 OLE 拖动模式。

OLEDropMode ​

vb
Property Get/Let OLEDropMode() As OLEDropModeConstants

返回/设置 OLE 放置模式。参见通用枚举。

MousePointer ​

vb
Property Get/Let MousePointer() As CCMousePointerConstants

返回/设置鼠标指针类型。参见通用枚举。

MouseIcon ​

vb
Property Get/Let/Set MouseIcon() As IPictureDisp

返回/设置自定义鼠标图标。

MouseTrack ​

vb
Property Get/Let MouseTrack() As Boolean

返回/设置是否启用鼠标进入/离开跟踪。

RightToLeft ​

vb
Property Get/Let RightToLeft() As Boolean

返回/设置是否启用从右到左布局。

RightToLeftMode ​

vb
Property Get/Let RightToLeftMode() As CCRightToLeftModeConstants

返回/设置从右到左模式。参见通用枚举。

BuddyControl ​

vb
Property Get/Set/Let BuddyControl() As Variant

返回/设置关联的伙伴控件,当选择字体时通知伙伴控件更新。

Style ​

vb
Property Get/Let Style() As FtcStyleConstants

返回/设置组合框的样式。

FontType ​

vb
Property Get/Let FontType() As FtcFontTypeConstants

返回/设置显示的字体类型过滤。

FontPitch ​

vb
Property Get/Let FontPitch() As FtcFontPitchConstants

返回/设置显示的字体间距过滤。

Locked ​

vb
Property Get/Let Locked() As Boolean

返回/设置控件是否锁定(禁止编辑和选择)。

Text ​

vb
Property Get/Let Text() As String

返回/设置编辑框中的文本。

Default ​

vb
Property Get/Let Default() As String

返回/设置默认字体名称。

ExtendedUI ​

vb
Property Get/Let ExtendedUI() As Boolean

返回/设置是否使用扩展用户界面。

MaxDropDownItems ​

vb
Property Get/Let MaxDropDownItems() As Integer

返回/设置下拉列表中可见的最大项目数。

IntegralHeight ​

vb
Property Get/Let IntegralHeight() As Boolean

返回/设置是否只显示完整项目(不截断部分项目)。

MaxLength ​

vb
Property Get/Let MaxLength() As Long

返回/设置编辑框中可输入的最大字符数。

HorizontalExtent ​

vb
Property Get/Let HorizontalExtent() As Single

返回/设置列表的水平滚动宽度。

IMEMode ​

vb
Property Get/Let IMEMode() As CCIMEModeConstants

返回/设置输入法编辑器模式。参见通用枚举。

ScrollTrack ​

vb
Property Get/Let ScrollTrack() As Boolean

返回/设置滚动条是否实时跟踪。

AutoSelect ​

vb
Property Get/Let AutoSelect() As Boolean

返回/设置获得焦点时是否自动选中编辑框文本。

AlwaysFindExact ​

vb
Property Get/Let AlwaysFindExact() As Boolean

返回/设置是否始终精确查找匹配项。

RecentMax ​

vb
Property Get/Let RecentMax() As Integer

返回/设置最近使用列表的最大项目数(0-9),0 表示不显示最近列表。

RecentBackColor ​

vb
Property Get/Let RecentBackColor() As OLE_COLOR

返回/设置最近使用列表的背景色。

RecentForeColor ​

vb
Property Get/Let RecentForeColor() As OLE_COLOR

返回/设置最近使用列表的前景色。

RecentCount ​

vb
Property Get RecentCount() As Long

返回最近使用列表中的项目数。只读。

ListCount ​

vb
Property Get ListCount() As Long

返回列表中的项目总数。只读。

List ​

vb
Property Get List(ByVal Index As Long) As String

返回指定索引处的列表项文本。只读。

ListIndex ​

vb
Property Get/Let ListIndex() As Long

返回/设置当前选中项的索引。

ItemData ​

vb
Property Get/Let ItemData(ByVal Index As Long) As LongPtr

返回/设置指定索引项的附加数据。

SelStart ​

vb
Property Get/Let SelStart() As Long

返回/设置选中文本的起始位置。

SelLength ​

vb
Property Get/Let SelLength() As Long

返回/设置选中文本的长度。

SelText ​

vb
Property Get/Let SelText() As String

返回/设置当前选中的文本。

ItemHeight ​

vb
Property Get ItemHeight() As Single

返回列表项目的高度。只读。

FieldHeight ​

vb
Property Get FieldHeight() As Single

返回编辑框(或静态文本)部分的高度。只读。

DroppedDown ​

vb
Property Get/Let DroppedDown() As Boolean

返回/设置下拉列表是否展开。

vb
Property Get/Let DropDownWidth() As Single

返回/设置下拉列表的宽度。简单样式下不支持。

TopIndex ​

vb
Property Get/Let TopIndex() As Long

返回/设置列表中顶部可见项的索引。

方法 ​

OLEDrag ​

vb
Public Sub OLEDrag()

启动 OLE 拖动操作。

Drag ​

vb
Public Sub Drag(Optional ByRef Action As Variant)

开始、结束或取消拖动操作。

SetFocus ​

vb
Public Sub SetFocus()

将焦点移到该控件。

ZOrder ​

vb
Public Sub ZOrder(Optional ByRef Position As Variant)

设置控件在其层级中的 Z 顺序位置。

Refresh ​

vb
Public Sub Refresh()

强制完全重绘控件。

FindItem ​

vb
Public Function FindItem(ByVal Text As String, Optional ByVal Index As Long = -1, Optional ByVal Partial As Boolean) As Long

在字体组合框中查找项目并返回其索引。Partial 为 True 时进行部分匹配。

GetIdealHorizontalExtent ​

vb
Public Function GetIdealHorizontalExtent() As Single

获取水平滚动宽度的理想值。

SelectItem ​

vb
Public Function SelectItem(ByVal Text As String, Optional ByVal Index As Long = -1) As Long

搜索以指定字符串开头的项目并选中它。不区分大小写。

SaveRecent ​

vb
Public Function SaveRecent() As Variant

保存最近使用列表,返回字符串数组。

RestoreRecent ​

vb
Public Sub RestoreRecent(ByVal ArgList As Variant)

从之前保存的状态恢复最近使用列表。

ClearRecent ​

vb
Public Sub ClearRecent()

清除最近使用列表的内容。

事件 ​

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(ByRef Handled As Boolean, ByVal X As Single, ByVal Y As Single)

右键单击或按 Shift+F10 时发生。设置 Handled 为 True 可阻止默认上下文菜单。

vb
Public Event DropDown()

下拉列表即将展开时发生。

CloseUp ​

vb
Public Event CloseUp()

下拉列表关闭时发生。

PreviewKeyDown ​

vb
Public Event PreviewKeyDown(ByVal KeyCode As Integer, ByRef IsInputKey As Boolean)

在 KeyDown 事件之前发生,可设置 IsInputKey 标记按键是否为输入键。

PreviewKeyUp ​

vb
Public Event PreviewKeyUp(ByVal KeyCode As Integer, ByRef IsInputKey As Boolean)

在 KeyUp 事件之前发生。

KeyDown ​

vb
Public Event KeyDown(KeyCode As Integer, Shift As Integer)

按下键盘键时发生。

KeyUp ​

vb
Public Event KeyUp(KeyCode As Integer, Shift As Integer)

释放键盘键时发生。

KeyPress ​

vb
Public Event KeyPress(KeyChar As Integer)

按下并释放字符键时发生。

MouseDown ​

vb
Public Event MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

按下鼠标按钮时发生。

MouseMove ​

vb
Public Event MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

移动鼠标时发生。

MouseUp ​

vb
Public Event MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

释放鼠标按钮时发生。

MouseEnter ​

vb
Public Event MouseEnter()

鼠标进入控件时发生。

MouseLeave ​

vb
Public Event MouseLeave()

鼠标离开控件时发生。

OLECompleteDrag ​

vb
Public Event OLECompleteDrag(Effect As Long)

OLE 拖放操作完成或取消后,在源控件上发生。

OLEDragDrop ​

vb
Public Event OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

数据通过 OLE 拖放操作放置到控件上时发生。

OLEDragOver ​

vb
Public Event OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)

OLE 拖放操作期间鼠标移过控件时发生。

OLEGiveFeedback ​

vb
Public Event OLEGiveFeedback(Effect As Long, DefaultCursors As Boolean)

OLE 拖放操作期间需要更改鼠标光标时,在源控件上发生。

OLESetData ​

vb
Public Event OLESetData(Data As DataObject, DataFormat As Integer)

放置目标请求数据时,在源控件上发生。

OLEStartDrag ​

vb
Public Event OLEStartDrag(Data As DataObject, AllowedEffects As Long)

OLE 拖放操作启动时发生。

代码示例 ​

基本用法 ​

vb
Private Sub Form_Load()
    With FontCombo1
        .Style = FtcStyleDropDownCombo
        .FontType = FtcFontTypeTrueType
        .FontPitch = FtcFontPitchAll
        .RecentMax = 5
    End With
End Sub

Private Sub FontCombo1_Click()
    Me.Font.Name = FontCombo1.Text
    Debug.Print "选中字体: " & FontCombo1.Text
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Dim v As Variant
    v = FontCombo1.SaveRecent
    SaveSetting App.Title, "FontCombo", "Recent", Join(v, vbTab)
End Sub

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