点击或拖拽改变大小

ListBox 类

X#
创建一个列表框。
继承层次
Object
  VObject
    Control
      TextControl
        BaseListBox
          ListBox
            ComboBox

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

ListBox 类型公开以下成员。

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

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

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

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

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

(继承自 Control。)
公共方法MouseButtonDown
提供在控件具有焦点、鼠标指针位于窗口上方并且单击鼠标按钮时调用的方法。
(继承自 Control。)
公共方法MouseButtonUp
提供在控件具有焦点、鼠标指针位于窗口上方并且释放鼠标按钮时调用的方法。
(继承自 Control。)
公共方法MouseDrag
提供在控件具有焦点并且在窗口中移动一个或多个按钮被单击的鼠标时调用的方法。
(继承自 Control。)
公共方法MouseMove
提供在控件具有焦点并且在控件中移动鼠标时调用的方法。
(继承自 Control。)
公共方法Move
提供在控件具有焦点并且控件被移动(由用户或应用程序)时调用的方法。
(继承自 Control。)
公共方法NextSelected
在调用 ListBox:FirstSelected() 之后,用于在多选列表框中循环遍历剩余的选择的项目。
公共方法OverRide
这是一个不再使用或需要的兼容性方法。
(继承自 Control。)
公共方法PerformValidations
执行所有定义在此控件字段规范中的验证(例如,必填项、最大和最小位数、最大和最小值、验证规则)并返回测试结果。
(继承自 Control。)
公共方法RegisterTimer
注册一个计时器方法以供控件调用。
(继承自 Control。)
公共方法RemoveEditBalloonTip
从继承了此类的编辑控件中移除当前的 BallonTip。
(继承自 TextControl。)
公共方法RePaint
发送 ExposeEvent 以重新绘制控件
(继承自 Control。)
公共方法Resize
提供在控件具有焦点并且控件大小发生变化时调用的方法。
(继承自 Control。)
公共方法RestoreUpdate
恢复控件的所有绘图更新(在调用 Control:SuspendUpdate() 之后)。
(继承自 Control。)
公共方法SelectItem
打开列表框中项目的选择。
公共方法SetCueBanner
向继承了此类的编辑控件中添加一个提示文本。
(继承自 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
备注
列表框和组合框向用户显示一系列项目或选择。
列表框方法将允许您添加、排列、删除和查询项目列表。当选择了其中一个项目时, ListBox:CurrentItem, ListBox:CurrentItemNo, ListBox:TextValue 和 ListBox:Value 将被更新。
在 FillUsing() 方法中,可以使用一维或二维数组,每个项目的行。
在二维数组中,第一个元素称为显示值,第二个元素称为返回值。当选择一个项目时,ListBox:TextValue 包含第一个元素(显示值),ListBox:Value 包含第二个元素(返回值)。 如果没有选择项目,ListBox:TextValue 为 NULL_STRING,ListBox:Value 为 NIL。

列表框可以绑定到服务器上的字段(字符、日期、逻辑、数值或备忘录)。 字段的数据值存储在 ListBox:Value 中。
列表框将数据值与 FillUsing() 数组中指定的第二个元素值进行比较,如果找到匹配,将第一个元素(显示值)存储在 ListBox:TextValue 中。
在“无匹配”情况下,列表框不显示选择的项目, ListBox:CurrentItem 为 NULL_STRING,ListBox:CurrentItemNo 设置为 0,ListBox:TextValue 和 ListBox:Value 反映字段内容。
如果选择了项目,ListBox:CurrentItemNo 设置为1到 ListBox:ItemCount 之间的一个数字,并且相应的第二个元素被存储为 ListBox:Value 和字段的数据值。
提示 提示:
所有数组索引引用都从1开始。
您还可以创建一个多选列表框,它允许您在列表框中管理多个项目。
列表框中的任意数量的项目可以一起选择(称为多选)。每次用户单击一个项目时,都会切换该项目的选中状态。
通过选择 LBOXMULTIPLESEL 样式创建一个多选列表框。 此类列表框的某些属性和方法专门适用于多选列表框, 包括 SelectedCount 访问、ChangeSelected()、ClearSelection()、DeselectItem()、FirstSelected()、NextSelected() 和 SelectItem()。
示例
此示例创建并填充了一个列表框,其中包含一系列动物:
X#
 1CLASS MyWindow INHERIT TopAppWindow
 2    HIDDEN oLB AS OBJECT
 3
 4    METHOD Init() CLASS MyWindow
 5        SUPER:Init()
 6        oLB := ListBox{SELF,42,Point{10,10},;
 7        Dimension{100,40}}
 8        oLB:AddItem("Pig")
 9        oLB:AddItem("Cow")
10        oLB:AddItem("Horse")
11        oLB:Show()
一个 X# 列表框相当于一个具有 LBS_NOTIFY 和 LBS_SORT 样式的 Windows 列表框。 列表框通常在资源实体中指定,如下所示:
X#
1RESOURCE IDD_ABOUT DIALOG 20, 20, 160, 80
2STYLE WS_POPUP | WS_DLGFRAME
3BEGIN
4    LISTBOX IDL_ITEMLIST, 10, 10, 90, 40
5END
参见