Содержит число предметов в списочной части ComboBox или ListBox. Не доступно в design time; "только для чтения" в run time.

Control.ListCount

Expand imageПримечания

Применяется к: ComboBox Control | ListBox Control

Expand imageПример

Приведенный ниже пример создает listbox. Источником предметов, которые появляются в списке, является массив, который указан в свойствах RowSourceType и RowSource.

ListCount используется для цикла прохода черех все предметы, определяемые свойством List элементов управления ComboBox или ListBox.

Свойство MultiSelect для listbox установлено в true (.T.), что позволяет вам сделать выборку множества предметов из списка. Свойство ListCount используется внутри цикла FOR ... ENDFOR для отображения предметов, выбранныхвами из списка в элементе управления listbox. Свойства Selected и List используются для определения выбранных вами предметов.

  CopyCode imageСкопировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Заполняем массив буквами
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

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' && Array containing listbox items

frmMyForm.cmbCommand1.Visible =.T.  && Делаем "Quit" видимым
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit'  && Устанавливаем ее заголовок
   Cancel = .T.  && Определяем ее как дефолтную для Cancel (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

Expand imageСмотрите также