rowsource 属性示例

下面的示例创建了一个列表框。出现在列表框中的项源是一个数组。数组的名称由 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. && 将 listbox 设置为可见的

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 && 列表框所在列
top = 10 && 列表框所在行
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