Skip to content

UpDown 类

UpDown 是一个小型微调控件 --- 一对上/下箭头按钮,每次点击将内部 Value 调整 Increment。通常与外部文本框或标签配对以显示当前值。

vb
Private Sub Form_Load()
    UpDown1.Min = 0
    UpDown1.Max = 100
    UpDown1.Increment = 5
    UpDown1.Value = 50
End Sub

Private Sub UpDown1_Change()
    Text1.Text = UpDown1.Value
End Sub

Private Sub Text1_Change()
    If IsNumeric(Text1.Text) Then UpDown1.Value = CLng(Text1.Text)
End Sub

控件从 BaseControlFocusableNoFont 继承可聚焦矩形可停靠成员 --- 大小、位置、AnchorsDockAppearanceMousePointer / MouseIconToolTipTextDragMode / DragIconDragRefreshSetFocusTabIndex / TabStopZOrderCausesValidationVisualStyleshWndHelpContextID / WhatsThisHelpIDUpDown 没有 Font 属性(箭头由OS主题绘制)。

无自动伙伴

与VB6时代的Win32 msctls_updown32 控件不同,此 UpDown 不自动附加到"伙伴"文本框 --- 没有暴露 UDS_AUTOBUDDY 样式。通过处理 ChangeUpClickDownClick 手动将微调控件与另一个控件配对。

三种事件形式

三种事件让应用程序以不同粒度观察微调交互:

  • ChangeValue 实际更改时触发 --- 包括编程赋值。
  • UpClick 在用户点击上箭头且 Value 增加时触发。
  • DownClick 在用户点击下箭头且 Value 减少时触发。

属性

Increment

每次点击箭头按钮时 Value 的变化量。Long。默认:1。存储为 UDACCEL 记录的 nInc 字段,通过 UDM_SETACCEL 应用。

Max

范围的上限。Long。默认:10。通过 UDM_SETRANGE32 应用。

Min

范围的下限。Long。默认:0

Orientation

控件的方向。OrientationConstants 的成员(ccOrientationHorizontalccOrientationVertical)。默认:ccOrientationHorizontal。运行时更改此属性会重新创建底层Win32窗口。

ToolTipText

用户悬停在控件上时显示的工具提示字符串。String。继承但重新暴露。

Value

当前微调值。Long。默认成员。通过 UDM_GETPOS32 读取,通过 UDM_SETPOS32 写入。编程设置时触发 Change。钳位到 [Min, Max]。

VisualStyles

是否应用OS视觉样式主题。Boolean。默认:True。继承但重新暴露。

事件

Change

Value 因用户交互、箭头点击或代码而更改时触发。

语法:object_Change( )

DownClick

当用户点击下箭头且 Value 成功减少时触发。

语法:object_DownClick( )

DragDrop, DragOver

继承的拖放事件。

GotFocus, LostFocus

继承的焦点事件。

Initialize

控件窗口创建后触发。

MouseDown, MouseMove, MouseUp

继承的鼠标事件。

OLECompleteDrag, OLEDragDrop, OLEDragOver, OLEGiveFeedback, OLESetData, OLEStartDrag

继承的OLE拖放事件。

UpClick

当用户点击上箭头且 Value 成功增加时触发。

语法:object_UpClick( )

Validate

继承的验证事件。

另见

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