列表框(ListBox)
列表框位于【standar{l】组件页的页面上,用来罗列项目,用户可以选择一项或者是多项,当项目条在列表框中不够空间的时候,会自动添上滚动条,设计期间和运行期间可以自由增加、删除和修改列表的内容。数个单选按钮成为一组,同组的单选按钮之间具有互斥性,只能选一个。
列表框的主要属性、方法和事件:
·BorderStyle属性:用来决定列表框是否有边框。
·Canvas属性:用来提供自画列表框事件处理程序的画布。
·Columns属性:用来设置多列列表框的可见列的个数。默认值为0,表示列表框不是多列的。
·ExtendedSelect属性:用来设置用户是否可以在列表框中选择连续或不连续的的多个项目。
·MultiSelect属性:用来决定用户是否一次选择多个选项。
ExtendedSelect属性和MultiSelect属性一起使用。
当ExtendedSelect为Tme并且MultiSelect也为Tme时,用户选好了一项后,按住Shift再选另外一项则两项之间的所有项目全被选中,按住Ctrl再选另外一项则该两项被选中而中间选项没有选中。
当MultiSelect为False时,ExtendIedselect取任何值对是否可选多项不起作用。 ·IntegralHeight属性:用来设置列表框是否显示部分项目。
当IntegralHeight为True时,列表框会自动调节自己的高度使其成为ItemHeight的整数倍,这样在列表框看到的都是完整的选项;当IntegralHei曲t为False时,列表框高度可以为任意值,列表的最后一项可能不是完整显示出来。 ·ItemHeight属性:用来设置每一项的高度,单位为像素。
·Itemlndex属性:是列表框项目列表中所选项目的索引。当Itemlndex为一l时,表示当前没有选择项目。为0时表示第一项被选中。
·Items属性:用来获得在列表框中显示的字符串对象,利用它可以来删除、增加和修改列表。
·SelCount属性:用来获得用户当前选了多少个项目,这是一个只读的属性。 ·selected属性:指出是否选了某一项,利用它可以来查询列表中每一项的状态。 ·sorted属性:用来规定列表框中的选项是否按字母表顺序排序。如果Sorted为?true。添加和插入的选项会被自动按字母顺序插入到列表框中适当的位置处。 注意:Sorted属性必须在设计期间设置,在运行时是只读的。
· style属性:用来规定列表框的显示是标准的还是自定义的。默认值为lbstandard,表示列表框把每一个选项作为一个字符串来显示。自定义列表框可以用非标准的方法来显示选项,在这种情况下,必须写代码显示各选项。有时需要为列表框的每一个选项增加一个图标等情况下,这个属性非常有用。为创建一个自定义列表框,只需将属性设置为lbOwnerDrawFixed或lbOwnel·DrawVat·iable。 ·Clear方法:用来一次清除列表框中的所有项目。
·ItemAtPos方法:用来返回在指定坐标位置处的选项的索引值。利用该方法可以发现是否有一个选项存在于该组件中的某一个特殊位置。
·ItemRect方法:用来获取列表框中某一个特定选项的外包矩形。 ·0nClick事件:当用户在列表框上单击时触发该事件。
·0nDrawItem事件:当自定义列表框需要显示某一选项时,触发该事件。此事件处理函数为:
void fastcall ListBoxlDrawItem(TwinControl *Control,int Index,Trect &Rect,TownerDrawState State)
参数control规定一个包含此选项的组件的指针;参数Index指定该选项在列表框中的索引;参数Rect指定了在哪个矩形中显示此选项;参数State指定此选项的状态一Selected,Focused或Disabled。
· OnMeasureItem事件:用来需要重新以可变高度在自定义列表框中显示一个选项时,触发该事件。
颜色选择组合框(ColorBox)
颜色选择组合框位于【Additional】组件页的页面上,是c++Builder6.0新增的组件,用户可以用它来选择颜色。
颜色选择组合框的主要属性:
·ColorNames属性:用来获得颜色列表框中颜色的名称,它是一个AnsiString类的字符
串。
·Color属性:用来获得颜色列表框中颜色的值,它是一个Color类型。
·Style属性:它是一个集合,用来设置在列表框中罗列的颜色,它的元素可以为表5一13中的0项或若干项。
在设计期间可以下拉Style属性来设置它所包含的元素。ColorBox组件,运行结果如图5-8所示。
单选组框(RadioGroup)
单选组框位于【standard】组件页的页面上,使数个单选按钮成为一组,同组的单选按钮之间具有互斥性,只能选一个。
单选组框组件的主要属性:
● Colums属性:用来获得或设置单选分组框的列数,它的取值范围为1~16,默认值为1。
·Itemlndex属性:用来获得被被选择项的索引,默认值为一1,表示没有选项被选中,索引为0的时候表示第一项被选中,其他的以此类推。Itemlndex是设计时使用的,运行时由用户的选择而自动改变它的值。
· Items属性:用来列出单选分组框的各个单选按钮。它含有一个Strings对象,用来设置各个单选按钮的标题。设计期间可以点击Object Inspector窗口中Items属性右端的按钮来对其进行编辑,如图5-5所示。
·CanModify属性:用来确定用户是否可以选择另外一个单选按钮。 复选框(CheckBox)
复选框:是选择类组件,位于【Standard】组件页的页面上,用来设置需要或不需要某一选项功能。在运行时,如果用户用鼠标单击复选框左边的边框,方框中就会出现一“√”
(复选标记),表示已经选取这个功能。
复选框,用户可以对复选框作出是和否的选择,由于它可以使得同组的选择项被用户同时选择,因此主要用于用户可复选的场合。
复选框的功能类似于单选按钮,也允许在多个选项中做出选择。但不同的是:在一系列单选按钮中只允许选择其中一个,而在一系列的复选框却可以同时选择多个。
复选框的主要属性、方法:
·Alignment属性:用来设置复选框的显示位置。
·AllowGrayed属性:用来设置复选框是否可以变灰,如果AllowGrayed属性为True,则复选框可以有三种状态:checked、unchecked和grayed;如果AllowGrayed属性为False,则复选框只有两种状态:checked和unchecked。
·Checked属性:用来获得或设置复选框是否被选择,为True时,表示被选,为False