jelq 阿拉伯挤奶法八个:VFP中的列表框控件(listbox)

来源:百度文库 编辑:中财网 时间:2024/05/04 14:44:01

VFP中的列表框控件(listbox) 发布日期:2010/5/2 10:18:00 来源: 作者: 点击:1206

 

-
 一.列表框(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事件:
qm=thisform.text1.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)
thisform.refresh
ENDIF
ENDIF
●"移出"命令按钮command2的click事件:
IF thisform.list1.listindex>0
thisform.list1.removeitem(thisform.list1.listindex)
ENDIF
●"全部移出"按钮command3的click事件:
thisform.list1.clear
●列表框list1的init事件:
thisform.list1.additem("杨过")
thisform.list1.additem("小龙女")
thisform.list1.additem("东方不败")
●列表框list1的dbclick事件:
thisform.command2.click() &&调用command2("移出"按钮)的click事件代码
说明:运行后,列表框中自动添加了3条记录,如图26,

 

这是在表单的init代码中添加的;在文本框中输入任意文本,如果和列表框中的内容不同,单击"加入"按钮,该内容会加入到列表框;否则不添加;在列表框中选中一条数据,单击"移出"按钮,该数据被删除;在列表框中直接双击某条数据,则的列表框的dbclick事件中调用"移出"按钮的click事件代码

原文链接:http://airfire.banzhu.net/article/airfire-2-1279349.html