列表框型组件
3.6.1 ListBox 组件
ListBox(列表框)组件在 Standard 组件页中,ListBox 通常用来对一组信息进行列表显示。
列表框与组合框(ComboBox)的功能类似,只不过组合框一次只能显示一条信息,要浏览全 部信息,需要单击框旁边的三角按钮。在列表框中的项目列表是 Items 属性的值,可使用 Add、Insert、Delete 方法对列表框中的项目进行增加、插入和删除操作。
1. ListBox 组件的主要属性
ListBox 组件的主要属性见表 3-12。
表 3-12 ListBox 组件的主要属性
属 性 名 称 |
说 明 |
Canvas |
该属性只有在列表框的风格为自绘时才有用,用于在列表框项目上绘制图形 |
Columns |
该属性用来控制列表框中的项目需显示成几列。默认是 0,表示单列显示 |
Height |
该属性决定列表框垂直方向的高度 |
ItemIndex |
该属性指出在列表框中被选中的那个项目的索引号 |
Items |
该属性指出在列表框中显示的所有列表项,当单击 Items 属性右边的省略号按钮之后, 会弹出【StringList Editor】对话框,可在这个对话框中输入将要在列表框中显示的选项 |
Multiselect |
该属性决定用户是否从列表框中一次做出多项选择。如果将它设置为 True,那么程序 执行时用户可以进行多项选择;否则不能做出多项选择。它的默认值为 False |
Selected |
该属性检测在列表框中特定的项目是否被选择。如果指定的项目被用户选择,则该值 为 True,反之为 False |
Stored |
该属性决定是否自动为用户进行排序。如果值为 True,那么列表框中的数据按照字母 的顺序进行排序;如果将其值设置为 False,则不进行排序 |
2. ListBox 组件的常用方法
下面简要介绍 ListBox 组件的常用方法。
(1) Clear:该方法清除在列表框中的所有项目。
(2) Add:可在运行时使用该方法为列表框添加新项目。 (3) Delete:可在运行时使用该方法删除列表框中的项目。 (4) Insert:可在运行时使用该方法为列表框插入新的项目。
(5) ScreenToClient:该方法返回列表框在屏幕上的当前位置。
3. ListBox 组件的事件
下面介绍 ListBox 组件的一些事件。
OnDrawItem: 当列表框中的内容重新显示时,该事件发生。比如,当用户选择了列表 框中的项目,系统需对选择的项目反白显示,此时就触发 OnDrawItem 事件。但是该事件 仅当 Style 属性值为 IbOwnerRrawFixed 或者 LbOwnerVariable 时才会发生。
OnEnter:当 ListBox 组件成为当前列表框时,该事件发生。
OnMeasureItem:不管何时应用程序需要重新显示在列表中的项目时,该事件发生。在 事件发生后,它将测出需要重画区域的大小参数并传给 OnDrawItem 事件,该事件重新显 示给定的区域。
【例 3.4】 以下代码的功能是:在运行时,单击【添加】按钮,将“北京”、“天津”、 “石家庄”添加到 ListBox1 组件中。
Procedure TForm1.Button1Click(Sender: TObject); Begin
Listbox1.Items.Add('北京');
Listbox1.Items.Add('天津');
Listbox1.Items.Add('石家庄');
End ;
运行结果如图 3.9 所示。
图 3.9 ListBox 组件应用示例
3.6.2 CheckBox 组件
CheckBox(复选框)组件是一个旁边带有说明的小方框,一般具有选中和未选中两种状 态,选中时方框中用对勾表示,如同考试时的多项选择题。运行时用鼠标左键单击复选框 可以改变其状态。在实际应用中,复选框还有一种不确定状态,表示既非选中,又非未选 中,外观呈现灰色的不可用状态。
复选框位于组件板的 Standard 组件页上,其主要属性见表 3-13。
表 3-13 CheckBox 组件的主要属性
属 性 |
属 性 类 型 |
说 明 |
Caption |
String |
复选框旁边的说明文字 |
Checked |
Boolean |
表示复选框是否被选中 |
State |
枚举型 |
表示复选框当前的状态。有 3 个取值:cbChecked、 cbUnchecked 和 cbGrayed,分别表示选中、未选中和不确定状态 |
AllowGrayed |
Boolean |
表示复选框是否具有第三种状态 |
3.6.3 ComboBox 组件
ComboBox(组合框)组件在 Standard 组件页中,它是设计 Windows 应用程序时使用较 多的组件,它汇集了列表框和编辑框的功能,使用户可以从下拉列表中选择数据或者直接 向组合框中输入数据。
1. ComboBox 组件的属性
ComboBox 组件的主要属性见表 3-14。
2. ComboBox 组件的常用方法
ComboBox 组件的常用方法与 ListBox 组件的相同,其列表项是由 Items 属性来控制。 在程序中可以使用 Add、Delete、Insert 方法进行项目的添加、删除和插入等管理操作。这 里就不再举例。读者可参考上例操作使用。
表 3-14 ComboBox 组件的主要属性
属 性 名 称 |
说 明 |
Style |
该属性用来改变组合框的类型。组合框有 5 种类型,可供选择。分别是 csDropDown(可 以输入,也可以选择),csSimple(只能输入,相当于一个编辑框),csDropDownList(不 能输入,只能在列表中选择),csOwnerDrawFixed(响应事件 onDrawItem 来绘制列表 的项目。列表项的高由属性确定),csOwnerDrawVariable(组合框由一个只读编辑框 和列表框组成,列表项的高度可以不同) |
Text |
该属性用于设置或返回组合框中当前显示出来的文本值,而且只对 csSimple 和 csDropDown 风格的组合框有效,其余风格无效 |
ItemHeight |
该属性用来指定组合框每一行的高度。注意,使用该属性时,Style 属性必须为 csOwnerDrawFixed |
ItemIndex |
该属性指定组合框中被选择的项目 |
Items |
该属性包含出现在组合框下拉列表中的所有字符串。单击该属性右侧的【…】按钮后, 显示【StringList Editor】对话框,在其中可以输入需要在下拉列表中显示的文本 |
DropDownCount |
该属性控制下拉组合框时弹出的项目条数。超出该属性规定的项目数时,自动出现 垂直滚动条 |
SelStart |
该属性确定框中所选的文本的开始位置 |