Selected (Propiedad)
Especifica si un elemento está seleccionado en un control ComboBox o ListBox. No está disponible en tiempo de diseño; es de lectura y escritura en tiempo de ejecución.
[Form.]Control.Selected(nIndex)[= lExpr]
Valores de la propiedad
- nIndex
Especifica el índice de un elemento en un ComboBox o ListBox. - lExpr
Los valores para la propiedad Selected son:Valor Descripción Verdadero (.T.) El elemento está seleccionado. Falso (.F.) (Predeterminado) El elemento no está seleccionado.
Observaciones
Si se establece la propiedad Selected de un control Listbox también se establece la propiedad ListItem y se desencadena el evento Programmatic Change.
La propiedad Selected es útil especialmente cuando los usuarios pueden hacer varias selecciones. Puede comprobar rápidamente qué elementos de la lista están seleccionados. También puede usar esta propiedad para seleccionar o deseleccionar elementos de una lista desde un programa. Para comprobar si el tercer elemento de un cuadro de lista está seleccionado, ejecute lo siguiente:
IF MyList.Selected(3)
WAIT WINDOW "It's selected!"
ELSE
WAIT WINDOW "It's not!"
ENDIF
Ejemplo
El siguiente ejemplo crea un cuadro de lista. El origen de los elementos que aparecen como elementos de un cuadro de lista es una matriz; el nombre de la matriz se especifica con la propiedad RowSource. La propiedad RowSourceType se establece como 5 (matriz) para especificar que una matriz es el origen de los elementos del cuadro de lista.
La propiedad MultiSelect para el cuadro de lista está establecida en el valor verdadero (.T.), lo que permite realizar múltiples selecciones desde el cuadro de lista. El elemento o elementos que elija en el cuadro de lista aparecerán usando las propiedades ListCount, Selected y List para determinar el número de elementos del cuadro de lista y los elementos que ha elegido.
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10 && Fill the array with letters
STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT
frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .f. && Disable the window pop-up menu
frmMyForm.Move(150,10) && Move the form
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && Add "Quit" Command button
frmMyForm.AddObject('lstListBox1','lstMyListBox') && Add ListBox control
frmMyForm.lstListBox1.RowSourceType = 5 && Specifies an array
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Array containing listbox items
frmMyForm.cmbCommand1.Visible =.T. && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T. && "List Box visible
frmMyForm.SHOW && Display the form
READ EVENTS && Start event processing
DEFINE CLASS cmdMyCmdBtn AS CommandButton && Create Command button
Caption = '\<Quit' && Caption on the Command button
Cancel = .T. && Default Cancel Command button (Esc)
Left = 125 && Command button column
Top = 210 && Command button row
Height = 25 && Command button height
PROCEDURE Click
CLEAR EVENTS && Stop event processing, close Form
CLEAR && Clear main Visual FoxPro window
ENDDEFINE
DEFINE CLASS lstMyListBox AS ListBox && Create ListBox control
Left = 10 && List Box column
Top = 10 && List Box row
MultiSelect = .T. && Allow selecting more than 1 item
PROCEDURE Click
ACTIVATE SCREEN
CLEAR
? "Selected items:"
? "---------------"
FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
IF ThisForm.lstListBox1.Selected(nCnt) && Is item selected?
? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
ENDIF
ENDFOR
ENDDEFINE
Vea también
AddItem (Método) | Clear (Método) | List (Propiedad) | ListCount (Propiedad) | ListItemID (Propiedad) | MultiSelect (Propiedad) | NewItemID (Propiedad) | RemoveItem (Método) | RemoveListItem (Método) | SelectedID (Propiedad) | TopItemID (Propiedad)