点击或拖拽改变大小

ComboBox 类

X#
创建一个组合框,当您需要为用户提供一个选择列表和一个编辑控件(以便他们可以选择输入自己的选择)时使用。
继承层次
Object
  VObject
    Control
      TextControl
        BaseListBox
          ListBox
            ComboBox
              ComboBoxEx

命名空间:  VO
程序集:  VOGUIClasses (在 VOGUIClasses.dll 中) 版本:2.22 GA
语法
 CLASS ComboBox INHERIT ListBox
查看代码

ComboBox 类型公开以下成员。

构造函数
  名称说明
公共方法ComboBox
构造一个组合框。
Top
属性
  名称说明
公共属性Background
用于绘制控件背景的画刷。例如,在单行编辑控件中,背景是编辑控件中文本后面的颜色。
(继承自 Control。)
公共属性Caption
表示列表框标题的字符串。
(继承自 ListBox。)
公共属性ContextMenu
表示控件的本地弹出菜单的菜单对象。
(继承自 Control。)
公共属性ControlFont
用于在控件中绘制文本的字体。
(继承自 TextControl。)
公共属性ControlID
表示控件唯一 ID 的 1 到 8000 之间的数字
(继承自 Control。)
公共属性CurrentItem
表示当前选择的列表框或组合框项目的字符串。
(继承自 ListBox。)
公共属性CurrentItemNo
一个数字值,介于1和 ListBox:ItemCount 之间,表示当前选择的项目。
(继承自 ListBox。)
公共属性CurrentText
ComboBox:CurrentText 包含当前出现在组合框编辑框区域中的文本。
CurrentText 分配还会更改 TextValue 和 Value。
如果分配的 CurrentText 与显示的项目之一不匹配,则 CurrentItemNo 设置为 0。
如果分配的值表示更改,则 ValueChanged 将设置为 TRUE。
(重写 CurrentText.)
公共属性EditHandle
组合框控件的编辑部分的句柄。
公共属性EditHeight
指定嵌入式编辑控件高度的整数值。
公共属性FieldSpec
连接到控件的字段规范。
(继承自 Control。)
公共属性HyperLabel
连接到控件的链接。
(继承自 Control。)
公共属性Length
一个表示控件中字符数的数字值。
(继承自 TextControl。)
公共属性Modified
当标准编辑控件或可编辑组合框正在修改时,设置为逻辑值 TRUE 。
(继承自 Control。)
公共属性MultiSelection
用于标识 ListBox 是否支持多选。
(继承自 ListBox。)
公共属性Name
表示控件名称的字符串。
(继承自 Control。)
公共属性NameSym
表示控件名称的符号。
(继承自 Control。)
公共属性Origin
表示控件在其所有者窗口上的位置的点,以画布坐标表示。
(继承自 Control。)
公共属性Owner
控件的所有者窗口。
(继承自 Control。)
公共属性OwnerAlignment
表示窗口在其所有者窗口内对齐方式的常量。
(继承自 Control。)
公共属性SelectedCount
一个数字值,表示当前在多选列表框中选择的项目的总数。
提示 提示:
此属性适用于多选列表框(即,使用 LBOXMULTIPLESEL 样式创建的列表框)。
(继承自 ListBox。)
公共属性SelectedFile (继承自 ListBox。)
公共属性Server
当前连接到此控件的服务器对象。如果没有连接服务器,则值为 NIL。
(继承自 Control。)
公共属性Size
表示控件大小的尺寸。
(继承自 Control。)
公共属性Status
表示控件在验证尝试或其他操作后的状态的链接。
(继承自 Control。)
公共属性TextColor
用于在控件中绘制文本的颜色。 (有关在颜色对象中指定颜色对象的详细信息,请参阅 Color:Init() 方法。)
(继承自 TextControl。)
公共属性TextValue
一个字符串,表示当前选择的项目的显示值(第一个数组的元素)。
(继承自 ListBox。)
公共属性ToolTipText
表示当用户将鼠标指针移动到控件上时使用的工具提示文本的字符串值。
(继承自 Control。)
公共属性UseHLForToolTip
确定是否应将控件的链接描述文本用作工具提示文本的逻辑值。
(继承自 Control。)
公共属性代码示例Value
控件中保存的值,以控件保存的任何数据类型表示。
(继承自 Control。)
公共属性ValueChanged
表示控件的值是否已从先前的设置更改的逻辑值。
(继承自 Control。)
Top
方法
  名称说明
公共方法Activate
提供在控件具有焦点并激活窗口时调用的方法。

(继承自 Control。)
公共方法AddItem(__Usual, __Usual)
在指定位置向列表框添加一个新项目。
(继承自 BaseListBox。)
公共方法AddItem(__Usual, __Usual, __Usual)
在指定位置向列表框添加一个新项目。
(继承自 ListBox。)
公共方法AsString
返回控件的内容(或其标识标签)。
(继承自 Control。)
公共方法ChangeSelected
将多选列表框中的一系列项目更改为指定的选择。
(继承自 ListBox。)
公共方法Clear (继承自 ListBox。)
公共方法ClearSelection
清除多选列表框中的所有选择。
(继承自 ListBox。)
公共方法Deactivate
提供在控件具有焦点并且窗口被停用时调用的方法。
(继承自 Control。)
公共方法DEFAULT
调用控件的默认 Windows 过程并设置 EventReturnValue。
(继承自 Control。)
公共方法DeleteItem
从列表框中删除一个项目。
(继承自 ListBox。)
公共方法DeselectItem
取消选择列表框中指定项目的选择。
(继承自 ListBox。)
公共方法Destroy
提供一种方法来销毁 BaseListBox 对象。
(继承自 BaseListBox。)
公共方法Disable
禁用控件(直到后续调用 Control:Enable())。
(继承自 Control。)
公共方法DisableTheme
禁用控件的 WinXP 主题。
(继承自 Control。)
公共方法Dispatch
提供在控件具有焦点时系统内事件的原型调度程序;将各种事件路由到其相应的事件处理程序。
(继承自 Control。)
公共方法Enable
启用先前禁用的控件。
(继承自 Control。)
公共方法EnableItemDrag
将列表框转换为可拖动列表框。
(继承自 ListBox。)
公共方法Expose
提供在控件具有焦点并且窗口的某部分需要重绘时调用的方法。
(继承自 Control。)
公共方法代码示例FillUsing
使用数组或数据服务器指定要在列表框中显示的值集。这些值充当列表框中可以输入的值的约束,并且可选地作为程序值和显示值之间的翻译。
(继承自 ListBox。)
公共方法FindItem
搜索列表框中的指定字符串,并返回匹配的第一个项目的位置。
(继承自 BaseListBox。)
公共方法FirstSelected
返回多选列表框中选择的第一个项目的位置,如果没有选择任何项目,则返回0。
(继承自 ListBox。)
公共方法FocusChange
提供在控件具有焦点并且输入焦点从当前控件更改为另一个控件(或反之亦然)时调用的方法。
(继承自 Control。)
公共方法GetExStyle
检索控件的扩展样式。
(继承自 Control。)
公共方法GetItem
检索指定列表框项目的文本。
(继承自 BaseListBox。)
公共方法代码示例GetItemValue
检索指定列表框项目的值。
(继承自 ListBox。)
公共方法GetStyle
检索控件的样式。
(继承自 Control。)
公共方法Handle
返回控件的句柄。
(继承自 Control。)
公共方法HasBorder
检查控件是否设置了边框
(继承自 Control。)
公共方法HasStyle
检查控件是否设置了样式值
(继承自 Control。)
公共方法Hide
隐藏控件,使其不可见(直到后续调用 Control:Show())。
(继承自 Control。)
公共方法HorizontalScroll
提供在控件具有焦点并且水平滚动条滚动时调用的方法。

(继承自 Control。)
公共方法Ime
返回并可选地设置此文本控件的输入法编辑器是否启用。
(继承自 TextControl。)
公共方法IsEnabled
报告此控件当前是否启用。
(继承自 Control。)
公共方法IsExStyle
检查控件是否设置了扩展样式值
(继承自 Control。)
公共方法IsReadOnly
报告此控件当前是否为只读。
(继承自 Control。)
公共方法IsSelected
确定指定索引位置的列表框项目是否被选择。
(继承自 ListBox。)
公共方法IsStyle
检查控件是否设置了样式值
(继承自 Control。)
公共方法IsVisible
报告此控件是可见(完全或部分)还是隐藏。
(继承自 Control。)
公共方法KeyDown
提供在控件具有焦点并且按下键盘上的键时调用的方法。

(继承自 Control。)
公共方法KeyUp
提供在控件具有焦点并且释放键盘上的键时调用的方法。

(继承自 Control。)
公共方法LinkDF
将控件连接到数据服务中的数据字段。
(继承自 Control。)
公共方法ListFiles
使用指定路径或文件名填充列表框,显示所有与指定路径或文件名匹配的文件的名称。
(继承自 ListBox。)
公共方法MenuInit
提供在控件拥有的弹出菜单即将弹出时调用的方法。
(继承自 Control。)
公共方法MenuSelect
提供在控件拥有的菜单上的项目被高亮显示时调用的方法。
(继承自 Control。)
公共方法MouseButtonDoubleClick
提供在控件具有焦点、鼠标指针位于窗口上方并且双击鼠标按钮时调用的方法。

(继承自 Control。)
公共方法MouseButtonDown
提供在控件具有焦点、鼠标指针位于窗口上方并且单击鼠标按钮时调用的方法。
(继承自 Control。)
公共方法MouseButtonUp
提供在控件具有焦点、鼠标指针位于窗口上方并且释放鼠标按钮时调用的方法。
(继承自 Control。)
公共方法MouseDrag
提供在控件具有焦点并且在窗口中移动一个或多个按钮被单击的鼠标时调用的方法。
(继承自 Control。)
公共方法MouseMove
提供在控件具有焦点并且在控件中移动鼠标时调用的方法。
(继承自 Control。)
公共方法Move
提供在控件具有焦点并且控件被移动(由用户或应用程序)时调用的方法。
(继承自 Control。)
公共方法NextSelected
在调用 ListBox:FirstSelected() 之后,用于在多选列表框中循环遍历剩余的选择的项目。
(继承自 ListBox。)
公共方法OverRide
这是一个不再使用或需要的兼容性方法。
(继承自 Control。)
公共方法PerformValidations
执行所有定义在此控件字段规范中的验证(例如,必填项、最大和最小位数、最大和最小值、验证规则)并返回测试结果。
(继承自 Control。)
公共方法RegisterTimer
注册一个计时器方法以供控件调用。
(继承自 Control。)
公共方法RemoveEditBalloonTip
从继承了此类的编辑控件中移除当前的 BallonTip。
(继承自 TextControl。)
公共方法RePaint
发送 ExposeEvent 以重新绘制控件
(继承自 Control。)
公共方法Resize
提供在控件具有焦点并且控件大小发生变化时调用的方法。
(继承自 Control。)
公共方法RestoreUpdate
恢复控件的所有绘图更新(在调用 Control:SuspendUpdate() 之后)。
(继承自 Control。)
公共方法SelectItem
打开列表框中项目的选择。
(继承自 ListBox。)
公共方法SetCueBanner(__Usual)
向组合框控件的编辑部分添加提示横幅。
公共方法SetCueBanner(__Usual, __Usual)
向继承了此类的编辑控件中添加一个提示文本。
(继承自 TextControl。)
公共方法SetExStyle
设置控件的扩展样式。
(继承自 Control。)
公共方法SetFocus
将输入焦点传递给控件,从而将所有鼠标和键盘输入定向到控件。
(继承自 Control。)
公共方法SetParent
更改控件的父句柄。
(继承自 Control。)
公共方法SetStyle
设置控件的样式。
(继承自 Control。)
公共方法SetTop
将指定项目移动到列表框的顶部。
(继承自 BaseListBox。)
公共方法Show
显示控件,使其可见。
(继承自 Control。)
公共方法ShowEditBalloonTip
向继承了此类的编辑控件中添加一个 BallonTip。
(继承自 TextControl。)
公共方法SuspendUpdate
暂时挂起控件的所有绘图更新;绘图在调用 Control:RestoreUpdate() 时恢复。
(继承自 Control。)
公共方法Timer
提供在通过 RegisterTimer() 方法注册计时器时调用的方法。
(继承自 Control。)
公共方法ValidateControl
此方法验证控件是否已创建,如果未创建,则触发控件创建
(继承自 Control。)
公共方法VerticalScroll
提供在控件具有焦点并且垂直滚动条滚动时调用的方法。
(继承自 Control。)
Top
字段
  名称说明
公共字段EventReturnValue (继承自 Control。)
公共字段oCargo
Cargo slot.
(继承自 VObject。)
Top
备注
组合框(也称为组合框)是一种结合了编辑控件和列表框功能的控件。
有三种类型的组合框——简单、下拉和下拉列表。
组合框向用户显示一个项目或选择列表,并允许直接在编辑区域中输入文本。组合框方法将允许您添加、排列、删除和查询项目列表。 选择其中一项时,ComboBox:CurrentItem、ComboBox:CurrentItemNo、ComboBox:TextValue 和 ComboBox:Value 会更新。

FillUsing() 方法中指定了一维或二维数组,每行表示可供选择的项目。 对于二维数组,第一个元素称为显示值,第二个元素称为返回值。 选择一个项目时,ComboBox:TextValue 包含第一个元素(显示值),ComboBox:Value 包含第二个元素(返回值)。 直接输入文本时,ComboBox:CurrentItemNo 设置为 0,新文本存储在 ComboBox:TextValue 和 ComboBox:Value 中。

组合框可以绑定到服务器中的字段(字符、日期、逻辑、数字或备注)。字段的数据值存储在 ComboBox:Value 中。
组合框将数据值与 FillUsing() 数组中指定的第二个元素值进行比较,如果找到匹配项, 则第一个元素(显示值)存储在 ComboBox:TextValue 中。在“无匹配”情况下,组合框显示未选择任何项目, ComboBox:CurrentItem 为 NULL_STRING,ComboBox:CurrentItemNo 设置为 0, ComboBox:TextValue 和 ComboBox:Value 反映字段内容。 选择一个项目时,ComboBox:CurrentItemNo 设置为 1 到 ComboBox:ItemCount 之间的数字, 对应的第二个元素存储为 ComboBox:Value 和字段的数据值。
直接输入文本时,它也会存储为字段的数据值。

使用 Window:ListBoxSelect() 事件处理程序响应选择,使用 Window:ListBoxClick() 事件处理程序响应选择。
组合框主要是一个选择设备,因此不支持 Edit 类中可用的功能。 但是,可以使用继承的 CurrentText 访问/分配方法更改或获取编辑组件的内容。

组合框在其编辑控件失去或获得焦点时还会生成 EditFocusChangeEvents。
示例
此示例创建一个组合框并填充动物列表:
X#
 1CLASS MyWindow INHERIT TopAppWindow
 2  HIDDEN oCB AS OBJECT
 3
 4  METHOD Init() CLASS MyWindow
 5    SUPER:Init()
 6
 7    oCB := ComboBox{SELF,42,Point{10,10}, Dimension{100,40}, BOXDROPDOWN}
 8
 9    oCB:AddItem("Pig")
10    oCB:AddItem("Cow")
11    oCB:AddItem("Horse")
12
13    oCB:Show()
此示例创建一个组合框,其中包含不同的货币,向用户显示显式表示,但内部使用不同的表示:
X#
 1METHOD Init(...) CLASS OrderWindow
 2    ...
 3    oCBCurrency := ComboBox{SELF,CBCURRENCY_ID}
 4    oCBCurrency:FillUsing({;
 5                            {"U.S. Dollars",    "USD"},;
 6                            {"Can. Dollars",    "CDN"},;
 7                            {"Mexican Pesos",   "MEX"},;
 8                            {"Yen",             "YEN"},;
 9                            {"British Pounds",  "UK"},;
10                            {"German Marks",    "DM"};
11                          })
12    oCBCurrency:Show()
此示例创建一个组合框,显示产品表中的可用产品:
X#
1METHOD Init(...) CLASS OrderWindow
2  ...
3  oCBProducts := ComboBox{SELF,CBPRODUCTS_ID}
4  oCBProducts:FillUsing(oDBProducts,#ProdName,#ProdNo)
5  oCBProducts:Show()
参见