Определяет, может ли пользователь выделять несколько элементов списка ListBox и как это делается.
Применение:
ListBox.
Синтаксис:
ListBox.MultiSelect[ = nChoice]
Установки:
nChoice
Для свойства MultiSelect предусмотрены следующие установки:
Комментарии:
Доступно на этапе разработки и для чтения/записи на этапе выполнения.
Устанавливая для свойства MultiSelect значение "истина" (.T.), вы разрешаете пользователю выбирать несколько элементов из списка. Чтобы определять, какие именно элементы выделены, можно использовать свойство Selected.
Пример:
* В следующем примере создается элемент управления ListBox. Его * свойство MultiSelect устанавливается равным "истине" (.T.), что позволяет * вам выбирать из списка ListBox значения группами. Источником * элементов, включаемых в список ListBox, служит массив, который * задается с помощью свойств RowSourceType и RowSource. * Свойство ListCount используется внутри цикла FOR ... ENDFOR для * отображения элемента (элементов), выбранного в списке ListBox. * Свойство Selected используется для определения выбранных элементов, * а свойство List возвращает эти элементы. 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 frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && Add ListBox control frmMyForm.AddObject('lstListBox1','lstMyListBox') frmMyForm.lstListBox1.RowSourceType = 5 && Specifies an array && Array containing listbox items 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