Вводит новый предмет в списки элементов управления ComboBox или ListBox, дополнительно позволяя вам указать его индекс.
Control.AddItem(cItem [, nIndex] [, nColumn]) |
Параметры
- cItem
-
Определяет строковое выражение для ввода в элемент управления.
- nIndex
-
Определяет позицию в списке предметов элемента управления, в которую будет помещен новый элемент. Если вы предоставили действительное значение для необязательного параметра nIndex, cItem помещается в указанную позицию в списке элемента управления. Если вы указали nIndex, который уже существует, предмет вставляет в эту позицию, а все предметы под этим предметов смещаются на одну позицию вниз в списочной части ComboBox или ListBox.
Если вы опустите nIndex, а свойство Sorted установлено в значение True (.T.), то cItem добавляется с учетом алфавитного порядка сортировки. Если вы опустите nIndex, а свойство Sorted установлено в значение False (.F.), то cItem добавляется в конец списочной части ComboBox или ListBox.
- nColumn
-
Указывает колонку элемента управления, в которую добавляется новый предмет. По умолчанию подразумевается первая колонка.
Примечания
Когда свойство RowSourceType установлено в 0 (None), то для добавления нового предмета используйте метод AddItem или AddListItem.
Каждый предмет, добавленный в ComboBox или ListBox имеет два присвоенных ему идентификационных номера:
-
nItemID, целое число, соответствующее уникальному ID предмета в элементе управления: первому предмету соответствует nItemID = 1 до тех пор, пока для него не указан другой nItemID.
-
nIndex, целое число, соответствующее порядку, в котором предмет отображается элементов управления: первому предмету в элементе управления соответствует nIndex = 1.
Метод AddItem всегда вставляет новую строку в многоколоночный ComboBox или ListBox. После того, как строка вставлена, колонки в этой строке должны быть заполнены с помощью синтаксиса .List(.NewIndex, nColumn).
Обратный слэж ("\") трактуется как специальный характер в случае, когда он используется в выражении для предмета. Для этого символа применяются приведенные ниже правила:
-
Вы можете заблокировать предмет в listbox или combobox с помощью одиночного обратного слэжа, если он находится в начале выражения. Когда вы таким способом блокируете предмет, он блокируется только для доступа к нему в помощью мыши, однако, пользователь продолжает иметь к нему доступ с помощью клавиатуры. Для полного блокирования предмета от доступа либо с помощью мыши, либо с помощью клавиатеры, добавьте к обратному слэжу закрывающую квадратную скобку ("\]").
-
Любое множество парных обратных слэжей, используемых в выражении отображается в виде одного. Например, один или два используемых вместе обратных слэжа, будут отображать один. Если в выражении присутствует три или четыре, то будут отображаться два и так далее. В приведенном ниже коде примера, используется предмет элемента управления listbox, содержащий путь в виде Universal Naming Convention (UNC). Код отобразит его в списке как
\\MyServer\MyMachine\MyFolder.
Скопировать кодMyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder") -
Если выражение начинается с множества обратных слэжей, предмет не отображается. Если вы желаете заблокировать предмет, который начинается с множества обратных слэжей, добавьте в начало выражения обратный слэж в сочетании с закрывающей квадратной скобкой (]). Например, примеденный ниже пример блокирует предмет, выражающий путь в виде UNC в списке элемента управления listbox.
Скопировать кодMyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder") -
Для того, чтобы включить линию разделителя, используйте обратный слэж в сочетании со значком переноса в качестве предмета, добавляемого в listbox. Например, приведенный ниже код добавляет линию разделителя в элемент управления listbox.
Скопировать кодMyForm.List1.AddItem("\-")
Пример
Этот пример демонстрирует использование методов AddItem и AddListItem для ввода значений в массив ListItem. Для понимания показаны правильный и неправильный пути добавления предмета в массив.
Скопировать код | |
|---|---|
PUBLIC ofrmListExamples
ofrmListExamples=NEWOBJECT("frmListExamples")
ofrmListExamples.Show
RETURN
DEFINE CLASS frmListExamples AS form
DataSession = 2
Top = 0
Left = 0
Height = 262
Width = 325
Caption = "List and ListItem Array Пример"
Name = "frmListExamples"
ADD OBJECT shape1 AS shape WITH ;
Top = 43, ;
Left = 32, ;
Height = 76, ;
Width = 261, ;
SpecialEffect = 0, ;
Name = "Shape1"
ADD OBJECT cbolistbad AS combobox WITH ;
ColumnCount = 3, ;
ColumnWidths = "100,100,50", ;
Height = 22, ;
Left = 111, ;
Sorted = .T., ;
Style = 2, ;
TabIndex = 1, ;
Top = 53, ;
Width = 147, ;
Name = "cboListBad"
ADD OBJECT cbolistitem AS combobox WITH ;
ColumnCount = 3, ;
ColumnWidths = "100,100,50", ;
Left = 34, ;
Sorted = .T., ;
Style = 2, ;
TabIndex = 3, ;
Top = 154, ;
Name = "cboListItem"
ADD OBJECT label1 AS label WITH ;
FontBold = .T., ;
Caption = "Using the List Array:", ;
Height = 17, ;
Left = 34, ;
Top = 24, ;
Width = 176, ;
TabIndex = 7, ;
Name = "Label1"
ADD OBJECT label2 AS label WITH ;
FontBold = .T., ;
Caption = "Using the ListItem Array:", ;
Height = 17, ;
Left = 34, ;
Top = 135, ;
Width = 173, ;
TabIndex = 8, ;
Name = "Label2"
ADD OBJECT cbolistgood AS combobox WITH ;
ColumnCount = 3, ;
ColumnWidths = "100,100,50", ;
Height = 22, ;
Left = 111, ;
Sorted = .T., ;
style = 2, ;
TabIndex = 2, ;
Top = 86, ;
Width = 147, ;
Name = "cboListGood"
ADD OBJECT label3 AS label WITH ;
Alignment = 1, ;
Caption = "Wrong!", ;
Height = 17, ;
Left = 51, ;
Top = 56, ;
Width = 47, ;
TabIndex = 9, ;
Name = "Label3"
ADD OBJECT label4 AS label WITH ;
Alignment = 1, ;
Caption = "Right!", ;
Height = 17, ;
Left = 58, ;
Top = 89, ;
Width = 40, ;
TabIndex = 10, ;
Name = "Label4"
PROCEDURE cbolistbad.Init
WITH This
.AddItem( 'Cleveland' )
.AddItem( 'Ohio', .NewIndex, 2 )
.AddItem( '44122', .NewIndex, 3 )
.AddItem( 'Caversham' )
.AddItem( 'England', .NewIndex, 2 )
.AddItem( 'RG4 8BX', .NewIndex, 3 )
.AddItem( 'Buffalo' )
.AddItem( 'New York', .NewIndex, 2 )
.AddItem( '14228', .NewIndex, 3 )
.AddItem( 'Milwaukee' )
.AddItem( 'Wisconsin', .NewIndex, 2 )
.AddItem( '43225', .NewIndex, 3 )
.AddItem( 'International Falls')
.AddItem( 'Minnesota', .NewIndex, 2 )
.AddItem( '42666', .NewIndex, 3 )
ENDWITH
ENDPROC
PROCEDURE cbolistgood.Init
WITH This
.AddItem( 'Cleveland' )
.List[.NewIndex, 2] = 'Ohio'
.List[.NewIndex, 3] = '44122'
.AddItem( 'Caversham' )
.List[.NewIndex, 2] = 'England'
.List[.NewIndex, 3] = 'RG4 8BX'
.AddItem( 'Buffalo' )
.List[.NewIndex, 2] = 'New York'
.List[.NewIndex, 3] = '14228'
.AddItem( 'Milwaukee' )
.List[.NewIndex, 2] = 'Wisconsin'
.List[.NewIndex, 3] = '43225'
.AddItem( 'International Falls' )
.List[.NewIndex, 2] = 'Minnesota'
.List[.NewIndex, 3] = '42666'
ENDWITH
ENDPROC
PROCEDURE cbolistitem.Init
WITH This
.AddListitem( 'Cleveland' )
.AddListItem( 'Ohio', .NewItemID, 2 )
.AddListItem( '44122', .NewItemID, 3 )
.AddListItem( 'Caversham' )
.AddListItem( 'England', .NewItemID, 2 )
.AddListItem( 'RG4 8BX', .NewItemID, 3 )
.AddListItem( 'Buffalo' )
.AddListItem( 'New York', .NewItemID, 2 )
.AddListItem( '14228', .NewItemID, 3 )
.AddListItem( 'Milwaukee' )
.AddListItem( 'Wisconsin', .NewItemID, 2 )
.AddListItem( '43225', .NewItemID, 3 )
.AddListItem( 'International Falls')
.AddListItem( 'Minnesota', .NewItemID, 2 )
.AddListItem( '42666', .NewItemID, 3 )
ENDWITH
ENDPROC
ENDDEFINE | |