Selected 属 性

Selected 属 性 - 图1Selected 属 性 - 图2Selected 属 性 - 图3指定组合框或列表框控件中的一项是否被选中 设计时不可用 运行时可读写

语 法

[ Form .] C ontro l.Selected( nIndex )[= lExp r]

参 数 描 述

nIndex

Selected 属 性 - 图4指 定 组 合 框 或 列 表 框 中 项 的 索 引

lExpr

Selected 属 性 - 图5Selected 属 性 - 图6Selected 属 性 - 图7Selected 属 性 - 图8Selected 属性的设置有

说 明

(.T.)

选 中 了 该 项

(.F.)

默 认 值 Selected 属 性 - 图9 没 有 选 中 该 项

说 明

Selected 属 性 - 图10Selected 属 性 - 图11Selected 属 性 - 图12Selected 属 性 - 图13Selected 属 性 - 图14Selected 属 性 - 图15Selected 属 性 - 图16Selected 属 性 - 图17Selected 属 性 - 图18Selected 属 性 - 图19Selected 属性对于需要多重选择的用户特别有用 从列表中可以快速地确定究竟选择了哪些项 也可以在代码中使用 Selected 属性从列表中选择某项或删除原有的选择例如 要检查是否选择了列表框中的第三项 可执行下列命令

IF MyList.Selected(3)

WAIT WINDOW “It’s selected!” ELSE

WAIT WINDOW “It’s not!”

ENDIF

示 例

Selected 属 性 - 图20Selected 属 性 - 图21以下 示例 创建了一个列表框 显示在列表框中的数据项的来源是一个数组 使用

Selected 属 性 - 图22Selected 属 性 - 图23Selected 属 性 - 图24Selected 属 性 - 图25RowSource 属性 指定数组名 将 RowSourceType 属性设置为 5 数组 以指定列表框中数据项的来源为数组

Selected 属 性 - 图26Selected 属 性 - 图27将 MultiSelect 属性设置为 (.T.) 允许您从列表框中进行多个选择 通过使用

Selected 属 性 - 图28Selected 属 性 - 图29Selected 属 性 - 图30ListCount 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) && 移动表单

Selected 属 性 - 图31Selected 属 性 - 图32frmMyForm.Addobject('cmbCommand 1','cmdMyCmdBtn') && 添加 Quit 命令 按钮

frmMyForm.Addobject('lstListBox1','lstMyListBox') && 添加 ListBox 控件

Selected 属 性 - 图33Selected 属 性 - 图34frmMyForm.lstListBox1.RowSourceType = 5 && 指定数组frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && 包含列表框数据项的数组frmMyForm.cmb Command 1.Visible =.T. && 使 Quit 命令 按钮可视frmMyForm.lstListBox1.Visible =.T. && 列表框可视

frmMyForm.SHOW && 显示表单

READ EVENTS && 开始事件处理

DEFINE CLASS cmdMyCmdBtn AS Command Button && 创建 命令 按钮

Selected 属 性 - 图35Selected 属 性 - 图36Caption = '\<Quit' && 命令 按钮上的标题Cancel = .T. && 默认 取消 命令 按钮 (Esc) Left = 125 && 命令 按钮列

Top = 210 && 命令 按钮行Height = 25 && 命令 按钮高PROCEDURE Click

Selected 属 性 - 图37CLEAR 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

Selected 属 性 - 图38IF ThisForm.lstListBox1.Selected (nCnt) && 选取数据项吗

? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && 显示数据项

ENDIF ENDFOR

ENDDEFINE

应 用 于

Selected 属 性 - 图39组合框 列表框

请 参 阅

AddItem 方 法 , Clear 方 法 , List 属 性 , ListCount 属 性 , ListItemID 属 性 ,

M ultiSelect 属 性 , NewItemID 属 性 , RemoveItem 方 法 , RemoveListItem 方 法 ,

SelectedID 属 性 , TopItemID 属 性