Вводит новый предмет в списки элементов управления 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 |