| ListBoxAddItem("ИмяОбъекта","Параметры") |
Добавляет элемент(ы) в список.
Параметрами могут являться:
- обычный текст (например, бла-бла-бла)
- строковая переменная (например, text$)
- массив строк (например, text[n]$)
- строка с разделителем (например, str$='item1#item2#item3#')
- текстовый файл (например, C:\Documents\text.txt)
- <List> - содержимое внутреннего списка MMB
- список воспроизведения MMB (*.m3l) или Winamp (*.pls,*.m3u)
- RESET - очистка списка
Начиная с версии MMB 4.9.5, параметр RANDOMIZE больше не используется. Для случайной сортировки элементов списка используйте команду ListBoxSortItems. |
|
Этот небольшой пример открывает окно выбора файла (с заданной маской), и после этого загружает в список выбранный пользователем плейлист:
OpenFile("Списки воспроизведения (*.m3l;*.m3u;*.pls)|*.m3l;*.m3u;*.pls|Все файлы|*.*||","*.m3l;*.m3u;*.pls") ListBoxAddItem("SongList","RESET") ListBoxAddItem("SongList","OpenFile$")
Загрузка элементов, представленных в виде строки, содержащей разделитель:
string$='item 4#item 5#item 6#'
ListBoxAddItem("SongList","string$,#")
Дополнительные примеры смотрите в файле listbox_tut.mbd.
|
|
| Дополнительная информация |
Если вы хотите добавить в список путь к файлу, то используйте параметр STRING перед строкой, содержащей путь:
filename$='STRING:'+ExtractName(Path$)+ExtractExt(Path$)
ListBoxAddItem("SongList","filename$")
|
|
| ListBoxDeleteItem("ИмяОбъекта","НомерЭлемента") |
Удаляет указанный элемент из списка. Чтобы удалить все элементы, используйте в качестве параметра -1.
Примечание: порядковый номер первого элемента списка всегда равен 1.
|
|
Следующая команда удаляет из списка элемент с порядковым номером 5:
ListBoxDeleteItem("SongList","5")
Вот более сложный пример использования команды ListBoxDeleteItem. С помощью этого кода вы сможете удалить выделенные элементы списка при нажатии клавиши DELETE:
- Создайте новый объект-скрипт и укажите в его свойствах запуск по нажатию DELETE.
- Поместите в него следующий код:
ListBoxGetSelectedItems("SongList","Items$,NumItems$,#,Count") For i=Count To 1
numitem$=GetArrayItem(NumItems$,#,i)
numitem=VAL(numitem$)
ListBoxDeleteItem("SongList","numitem")
Next i
|
|
| ListBoxSortItems("ИмяОбъекта","Параметры") |
Команда для сортировки элементов списка. Возможные параметры:
NAME - сортировка элементов по имени
TIME - сортировка по времени
VALUE - сортировка по целочисленному значению
REVERSE - обратный порядок списка
RANDOMIZE - случайная сортировка |
|
Этот простой код сортирует элементы списка в соответствии с их именами
ListBoxSortItems("SongList","NAME")
Например, элементы:
12 test
11 test
1 test
32 test
9 test
...отсортированные по имени (NAME):
1 test
11 test
12 test
32 test
9 test
...и отсортированные по целочисленному значению (VALUE):
1 test
9 test
11 test
12 test
32 test
|
|
| ListBoxSelectItem("ИмяОбъекта","НомерЭлемента") |
| Выделяет указанный элемент в списке. Чтобы выделить все элементы, используйте в качестве параметра -1.
|
|
|
Пример выделения пятого элемента в списке:
ListBoxSelectItem("SongList","5")
|
|
| ListBoxDeselectItem("ИмяОбъекта","НомерЭлемента") |
| Снимает выделение с указанного элемента списка. Чтобы снять выделение со всех элементов, используйте в качестве параметра -1.
|
|
Пример снятия выделения со всех элементов списка:
ListBoxDeselectItem("SongList","-1")
|
|
| ListBoxMoveItem("ИмяОбъекта","НомерЭлемента") |
| Перемещает выделенный элемент в соответствии с номером позиции, указанным в качестве параметра.
|
|
Следующий пример перемещает выделенный элемент на одну позицию вверх:
ListBoxGetSelectedItems("SongList","Items$,NumItems$,#,Count")
For j=1 To Count
SelItem$=GetArrayItem(Items$,#,j)
SelNum$=GetArrayItem(NumItems$,#,j)
SelNum=VAL(SelNum$)
Next j
If (SelNum>1) Then
ListBoxMoveItem("SongList","SelNum-1")
End
Следующий пример перемещает выделенный элемент на одну позицию вниз:
ListBoxGetItems("SongList","AllItems$,AllItemsN$,#,AllItems")
ListBoxGetSelectedItems("SongList","Items$,NumItems$,#,Count")
For j=1 To Count
SelItem$=GetArrayItem(Items$,#,j)
SelNum$=GetArrayItem(NumItems$,#,j)
SelNum=VAL(SelNum$)
Next j
If (SelNum<AllItems) Then
ListBoxMoveItem("SongList","SelNum+1")
End
|
|
| Дополнительная информация |
Ограничение: с помощью этой команды нельзя переместить несколько выделенных элементов! Для дополнительной информации смотрите файл move_up_down.mbd.
|
|
| ListBoxGetItems("ИмяОбъекта","Параметры") |
| Получает все элементы из списка. Первый параметр должен быть строковой переменной, которая будет содержать элементы списка, разделенные делимитером (символом-разделителем). Второй параметр также должен быть строковой переменной, которая будет содержать порядковые номера элементов списка, разделенные делимитером. Третий параметр определяет разделитель. Четвертый параметр является числовой переменной, содержащей число всех элементов списка.
|
|
|
Следующий пример возвращает все элементы списка:
ListBoxGetItems("SongList","Items$,NumItems$,#,Count")
For i=1 To Count
Item$=GetArrayItem(Items$,#,i)
Message("Элемент списка:","Item$")
Next i
|
|
| Дополнительная информация |
Команда ListBoxGetItems может не только получать элементы списка, она также может связывать внутренний список MMB с элементами обычного списка. Просто используйте вместо обычных параметров команды константу <List>.
Для того, чтобы поместить содержимое списка во внутренний список MMB <List>, используйте следующий код:
ListBoxGetItems("SongList","<List>")
|
|
| ListBoxGetSelectedItems("ИмяОбъекта","Параметры") |
| Получает все выделенные элементы списка. Первый параметр должен быть строковой переменной, которая будет содержать элементы списка, разделенные делимитером (символом-разделителем). Второй параметр также должен быть строковой переменной, которая будет содержать порядковые номера элементов списка, разделенные делимитером. Третий параметр определяет разделитель. Четвертый параметр является числовой переменной, содержащей число выделенных элементов списка.
|
|
Следующий пример возвращает все выделенные элементы списка:
ListBoxGetSelectedItems("SongList","Items$,NumItems$,#,Count")
If (Count<>0)
For i= 1 To Count
Item$=GetArrayItem(Items$,#,i)
Message("Выделен элемент:","Item$")
Next i
End
|
|
| Дополнительная информация |
|
| ListBoxParam("ИмяОбъекта","Параметры") |
Изменяет во время работы приложения некоторые параметры списка, заданные в редакторе.
DRAG&DROP=ON/OFF - включает/выключает перетаскивание на список
NUMBERS=ON/OFF - отображает/скрывает номера элементов
TIMES=ON/OFF - включает/выключает отображение длительности файла (только для аудио и видеофайлов)
BACKGROUND=R,G,B - задает цвет фона списка
TEXT=R,G,B - задает цвет текста
IDTAGS=ON/OFF - включает/выключает поиск тегов в аудиофайлах
|
|
Нижеприведенные примеры покажут вам, как изменить некоторые параметры списка:
ListBoxParam("SongList","DRAG&DROP=ON")
ListBoxParam("SongList","NUMBERS=OFF")
ListBoxParam("SongList","TIMES=ON")
ListBoxParam("SongList","BACKGROUND=128,128,128")
ListBoxParam("SongList","TEXT=128,0,0")
ListBoxParam("SongList","IDTAGS=OFF")
|
|
MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru
|