VFP中的列表框控件(listbox)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VFP中的列表框控件(listbox)
一.列表框(listbox):主要用于选择一组指定的数据,用户从列表中选取选项,然后执行所需的操作.
二.列表框常用属性:见下表
注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事件:
mand2.click() &&调用command2("移出"按钮)的click事件代码
说明:运行后,列表框中自动添加了3条记录,如图26,
这是在表单的init代码中添加的;在文本框中输入任意文本,如果和列表框中的内容不同,单击"加入"按钮,该内容会加入到列表框;否则不添加;在列表框中选中一条数据,单击"移出"按钮,该数据被删除;在列表框中直接双击某条数据,则的列表框的dbclick事件中调用"移出"按钮的click事件代码,将双击的数据删除。