VFP中的列表框控件(listbox)
一.列表框(listbox):主要用于选择一组指定的数据,用户从列表中选取选项,然后执行所需的操作.
二.列表框常用属性:见下表
属性
作用
rowsource
列表项内容从何处来(来源)
rowsourcetype
列表项内容来源的类型,详见注1
displayvalue
选择值
boundcolumn
在列表框包含多项时指定哪一列作为value属性的值
columncount
行源列数
list(i)
第i行的值
selected(i)
第i行是否被选中
multiselect
是否可以同时选取多项
moverbars
项目是否可以移动
sorted
当rowsourcetype为0和1时,列表项是否按字母大小排序
listindex
列表框中当前被选定项的索引值
integralheight
列表框的高度是否可自动调整
listcount
列表框中数据项的数目
incrementalsearch
确定在键盘操作时是否支持增量搜索.值为.T.,当用键盘选择列表项,用户敲一个键,系统将自动定位到与输入字母相应的项前
注1(rowsourcetype属性可指定的值):
0-无,运行时使用列表框的确良additem和addlistitem方法加入
1-值,将列表框的内容在设计时直接写在该属性中
2-表别名:由columncount确定表中选择的字段.当用户选择列表框时,记录指针将自动移到该记录上
3-sql语句:见sql部分,由执行的结果产生.
4-查询文件名:见查询部分,由查询结果产生
5-数组名
6-字段名表:可用表别名作为字段前缀.当用户选择列表项时,记录指针将自动移到该记录上
7-文件名描述框架,可包含"*"和"?"来描述在列表框中显示的文件名
8-结构
9-弹出式菜单,提供向后兼容.
二.列表框常用的方法:见下表
方法
作用
additem
增加列表项
removeitem
移去列表项
clear
移去所有列表项
requery
当rowsourcetype为3和4时,根据rowsource中的最新数据重新刷新列表项
三.列表框常用事件:列表框的常用事件为click(单击)事件和dbclick(双击)事件.
四.例:列表框练习
1.新建表单,添加一个文本框text1,三个命令按钮command1~command3,三个命令按钮的caption属性依次设为"加入","移出"和"全部移出",一个列表框list1.界面如图25
2.设置属性:将表单的caption属性设为"列表框练习",autocenter属性设为.T.;将列表框list1的moverbars属性设为.T.,multiselect属性设为.T.
3.编写代码:
●"加入"命令按钮command1的click事件:
1.value
IF !empty(qm)
no=.t.
FOR i=1 to thisform.list1.listcount
IF thisform.list1.list(i)=qm &&如果文本框中输入的内容和列表框中已存在的内容相同,则不添加
no=.f.
ENDIF
NEXT i
IF no
thisform.list1.additem(qm)
fresh
textbox控件边框设置
ENDIF
ENDIF
●"移出"命令按钮command2的click事件:
IF thisform.list1.listindex>0
veitem(thisform.list1.listindex)
ENDIF
●"全部移出"按钮command3的click事件:
thisform.list1.clear
●列表框list1的init事件:
thisform.list1.additem("杨过")
thisform.list1.additem("小龙女")
thisform.list1.additem("东方不败")
●列表框list1的dbclick事件:
thisformmand2.click() &&调用command2("移出"按钮)的click事件代码
说明:运行后,列表框中自动添加了3条记录,如图26,
这是在表单的init代码中添加的;在文本框中输入任意文本,如果和列表框中的内容不同,单击"加入"按钮,该内容会加入到列表框;否则不添加;在列表框中选中一条数据,单击"移出"按钮,该数据被删除;在列表框中直接双击某条数据,则的列表框的dbclick事件中调用"移出"按钮的click事件代码,将双击的数据删除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。