Массив символьных строк, используемый для доступа к элементам списка ComboBox или ListBox. Недоступно на этапе разработки; чтение/запись на этапе выполнения.
Control.List(nRow [, nCol]])[ = cChar] |
Возвращаемое значение
- nRow
-
Задает строку элемента, который следует получить используется порядок, действующий на экране. Например, значение nRow = 3 задает третью строку, показанную в списке.
- nCol
-
Задает столбец элемента, который следует получить используется порядок, действующий на экране. Например, значени nCol = 2 задает второй столбец, показанный в списке. Если значение nCol не задано, свойство List по умолчанию извлекает первый столбец. Аргумент nCol следует задавать только для элементов управления ComboBox и ListBox содержащих более одного столбца.
- cChar
-
Задает значение добавляемое в элементов управления ComboBox или ListBox.
Примечания
Свойство List действует совместно со свойством ListCount; задавая в качестве номеров числа от 1 до ListCount можно получить все элементы списка.
В свойстве List нельзя использовать функции обработки массивов. Впрочем, если вы установили для свойства RowSourceType значение 5 (массив) и задали в свойстве RowSource массив элементов, предназначенных для помещения в список, вы можете применять функции обработки массива к массиву, заданному в свойстве RowSource.
Note |
|---|
|
Когда значение свойства RowSourceType равно 0 или 1, для добавления элементов в список ComboBox или ListBox можно использовать метод AddItem. Чтобы удалять элементы, используйте мето RemoveItem. Чтобы организовать элементы в алфавитном порядке, нужно, прежде чем добавлять в список новые элементы, установить свойство Sorted данного элемента управления равным значению "истина" (.T.). |
Пример
Применимо к: ComboBox Control | ListBox Control
В следующем примере свойство, ListCount используется для организации цикла по всем элементам, заданным свойством List элемента управления ComboBox или ListBox.
В этом примере создается элемент управления ListBox. Источником элементов, фигурирующих в качестве элементов списка ListBox, служит массив; он задается с помощью свойств RowSourceType и RowSource.
Свойство MultiSelect элемента управления ListBox устанавливается равным "истине" (.T.), что позволяет выбирать элементы в этом списке группами. Внутри цикла FOR ... ENDFOR используется свойство ListCount для отображения элемента (элементов), выбранного в ListBox. Свойство Selected используется для определения выбранных элементов, а свойство List - для возвращения этих элементов.
Copy Code | |
|---|---|
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10 && Fill the array with letters
STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR
frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .F. && Disable the Control menu box
frmMyForm.Move(150,10) && Move the form
* Add "Quit" command button and list box control
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')
frmMyForm.AddObject('lstListBox1','lstMyListBox')
* && Specifies an array containing listbox items
frmMyForm.lstListBox1.RowSourceType = 5
frmMyForm.lstListBox1.RowSource = 'gaMyListArray'
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 | |
Note