下面的示例创建了一个列表框。列表框的项源是数组,数组的名称由 rowsource 属性指定。rowsourcetype 属性的设置是 5 (数组)。它指定列表框的项源是数组。列表框的 multiselect 属性设置为“真”(.t.),即允许从列表框中做多项选择。使用 listcount、selected 和 list 属性将列表框中所做的选择显示出来,从而可以确定列表框中项的数目和选择的项。
clear
dimension gamylistarray(10)
for gncount = 1 to 10 && 用字母填充数组
store replicate(chr(gncount+64),6) to gamylistarray(gncount)
next
frmmyform = createobject('form') && 创建一个表单
frmmyform.closable = .f. && 使控制菜单无效
frmmyform.move(150,10) &&移动表单
frmmyform.addobject('cmbcommand1','cmdmycmdbtn') && 添加 “quit” 命令按钮
frmmyform.addobject('lstlistbox1','lstmylistbox') && 添加 listbox 控制
frmmyform.lstlistbox1.rowsourcetype = 5 && 指定一个数组
frmmyform.lstlistbox1.rowsource = 'gamylistarray' && 包含列表项的数组
frmmyform.cmbcommand1.visible =.t. && “quit” 命令按钮可见
frmmyform.lstlistbox1.visible =.t. && 列表框可见
frmmyform.show && 显示表单
read events && 开始事件处理
define class cmdmycmdbtn as commandbutton && 创建命令按钮
caption = '\<quit' && 命令按钮上的标题
cancel = .t. && 默认的取消命令按钮(esc)
left = 125 && 命令按钮所在的列
top = 210 && 命令按钮所在的行
height = 25 && 命令按钮的高度
procedure click
clear events && 结束事件处理,关闭表单
clear && 清理 visual foxpro 主菜单
enddefine
define class lstmylistbox as listbox && 创建 listbox 控制
left = 10 && llist box column
top = 10 && listbox 控制所在的行
multiselect = .t. && 允许多重选择
procedure click
activate screen
clear
? "selected items:"
? "---------------"
for ncnt = 1 to thisform.lstlistbox1.listcount
if thisform.lstlistbox1.selected(ncnt) && 选择了此项吗 ?
? space(5) + thisform.lstlistbox1.list(ncnt) && 显示此项
endif
endfor
enddefine