Свойство MultiSelect

Определяет, может ли пользователь выделять несколько элементов списка 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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 13.03.2003