delphi 列表组件ComboBox
TComboBox组件的重要属性
CharCase--------此属性用于设置编辑框内文字的大小写
DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数
DroppedDown-----如组合框当前被下拉,此属性返回True
ItemHeight------此属性用于设置项的高度
ItemIndex-------此属性返回组合框中被选择的项的序号
Items-----------通过此属性可以访问组合框中所有项
MaxLength-------此属性用于设置用户在组合框中最多可输入的字符数,0代表不受限制
SelLength-------此属性是用户在编辑框中选择的字符数
SelStart--------此属性是用户在编辑框中选择的起点
SelText---------此属性是用户在编辑框中选择的文本
Sorted----------组合框中的项将按字母顺序排序
Text------------此属性用于设置或返回组合框上显示出来的文本
Style-----------此属性用于设置组合框的风格
(1)CharCase属性
此属性用于设置编辑框内文字的大小写,它有3个取值供用户选择。
. ecLowerCase:此值使TComboBox组件以小写方式显示所有字母。
. ecNormal:此值使TComboBox组件按原样显示字母,即大小写混合显示。
. ecUpperCase:此值使TComboBox组件以大写方式显示所有字母。
(2)DropDownCount属性
通过属性DropDownCount可以改变列表框显示条目的个数,默认值为8。当列表框中的条目大于DropDownCount时,将会在列表框右面自动出现一个滚动条。当列表框中的条目小于DropDownCount时,列表框的高度会自动调整显示所有条目。
(3)ItemHeight属性
此属性用于设置项的高度,它的取值受Style属性的影响,只有Style属性取值为csOwnerDrawFixed或sOwnerDrawVariable时,ItemHeight属性才起作用。
(4)ItemIndex属性
ItemIndex属性能够返回组合框中被选择的项的序号,当然也可以用此属性更改TComboBox组件的选中项。在编写代码的时候经常用此属性来获得选择序号。-1代表没有任何项被选中。
(5)Items属性
Items属性可以对组合框中的选项进行访问。此属性下包含多个方法及属性,其中常用的属性和方法如下。
. Add-------------方法可以向组合框中添加一个选项。
. Append----------方法可以向组合框中添加一个选项。
. Clear-----------方法可以清除组合框中的所有选项。
. Count-----------属性可以获取组合框中的选项个数。
. Delete----------方法可以删除指定序号的选项。
. IndexOf---------属性可以获取指定内容的选项。
. Strings---------属性可以获取指定序号的选项内容。
. Text------------属性可以获取组合框中选项的所有内容。
. ValueFromIndex--属性可以获取指定序号的选项内容。
以上的属性和方法可以用下面的方式引用:
TComboBoxName.Items.方法(或属性)
例如要在ComboBox1中动态地添加一个选项,可以利用Items.Add方法:
ComboBox1.Items.Add(’添加一个新的选项’);
而删除ItemIndex为 1的选项则可以利用Items.Delete方法:
ComboBox1.Items.Delete(1);
Items属性中经常用到一个TStringList类,TStringList类的属性和方法与Items的属性完全一样,不过在使用
TStringList类之前必须先用Create方法建立,然后才能够进行操作。例如可以利用下面的方法对TComboBox组件进行Items属性的编辑。
var
S:TStringList;
begin
S:=TStringList.Create;
S.Add(’第1项’);
S.Add(’第2项’);
S.Add(’第3项’);
S.Add(’第4项’);
S.Add(’第5项’);
ComboBox1.Items:=S;
end;
(6)SelLength属性
此属性是用户在编辑框中选择的字符数,它的取值受 Style属性的影响,只有当Style属性取值为csDropDown或csSimple时,SelLength属性的取值才是正确的。
(7)SelStart属性
此属性是用户在编辑框中选择的起始位置,它的取值受Style属性的影响,只有当Style属性取值为csDropDown或
csSimple时,SelStart属性的取值才有可能不为0,而Style属性的其他取值使SelStart属性的取值为 0。
(8)SelText属性
此属性是用户在编辑框中选择的文本,它的取值受Style属性的影响,只有当Style属性取值为csDropDown或csSimple时,SelText属性的取值才有可能不为空,而Style属性的其他取值使SelStart属性的取值为空。
(9)Sorted属性
组合框中的项将按字母顺序由小到大进行排序。当TComboBox组件内的项设计好后,将Sorted属性设置为True,组合框内的项就完成了排序工作,即使再将Sorted属性设置为False,组合框内的项也是按排序后的顺序显示。
(10)Style属性
通过Style属性的设置可以体现出下拉列表组件的5种类型,取值及功能如下。
. csDropDown在组合框的编辑框中可以输入,同时下拉式列表框是一组具有相等高度的字符串。
. csDropDownList在组合框的编辑框中为只读,而且编辑框中的内容只能在从列表框中选择。
. csSimple在只有一个编辑框中显示,可以在编辑框中输入字符串,也可以通过上、下箭头键改变编辑框中的内容。
. csOwnerDrawFixed在组合框中由一个只读编辑框和条目高度相等的列表框组成,条目的高度由属性ItemHeight确定。
. csOwnerDrawVariable在组合框中由一个只读编辑框和列表框组成,条目的高度可以不同。
3、TComboBox组件的重要事件
TComboBox组件最常用的事件是OnChange事件。当用户从组合框的下拉列表中选择了一项,或者直接在编辑框部分键入了字符,就会触发OnChange事件。访问Text属性就可以知道编辑框中的最新内容。当用户下拉组合框的时候触发OnDropDown事件。
OnChange事件和OnDropDown事件是最常用的。
4、TComboBox组件的重要方法
Clear---------此方法用于把整个组合框清空
SelectAll-----此方法用于选中编辑框中的所有文本
(1)Clear方法
此方法是将组合框的内容全部清除。例如要清除ComboBox1的内容,可以这样写:
ComboBox1.Clear;
(2)SelectAll方法
此方法用于选中编辑框中的所有文本,此方法受Style属性的影响,只有Style属性取值为csDropDown或csSimple时,SelectAll方法才起作用。
例子:
Form1.下拉框.ItemIndex:=2; //设置为第三项
Form1.下拉框.Items.Strings[Form1.下拉框.ItemIndex] //得到当前选项的内容