Difference between revisions of "List.Select"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
Select (Визуальный выбор значения) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция предлагает пользователю визуально выбрать элемент списка в указанном режиме. В режимах выбора 1 и 2 элементы, имеющие значение "-" (строка), будут показаны как разделители. Элементы, являющиеся списками, будут показаны как подменю. Функция использует индексы иконок списка для отображения при выборе (0 -- иконка отсутствует).
Синтаксис
List.Select(<Значение>,<Режим выбора (INT,FORM)>=см. описание,<Заголовок окна выбора (STRING)>):<Позиция выбранного значения или ноль (INT)>
Аргументы
<Значение>
- (необязательный аргумент)(возможен аргумент-переменная (ByRef)) Переменная для получения значения, выбранного пользователем. Если значение не выбрано, переменная изменена не будет.<Режим выбора (INT)>
- (необязательный аргумент) По умолчанию будет использован режим 1, если количество элементов в списке не достигает 16, иначе будет использован режим 0. Если указан, режим выбора принимает одно из возможных значений:- 0 -- выбор с помощью окна со списком в нем.
- 1 -- выбор с помощью всплывающего меню, привязанному к визуальному элементу, имеющему фокус.
- 2 -- выбор с помощью всплывающего меню, выходящему рядом с последним нажатием клавиши мыши.
- Визуальный элемент формы (FORM) -- выбор с помощью всплывающего меню, привязанному к указанному визуальному элементу формы. Если элемент принадлежит форме, не активированной в данный момент, форма будет активирована до вывода всплывающего меню.
<Заголовок окна выбора (STRING)>
- (необязательный аргумент) Заголовок окна выбора, используемого в режиме 0.
Возвращаемое значение
Возвращает индекс выбранного элемента списка (начиная с 1) или ноль, если выбор не был произведен. Если выбор производится с учетом подменю, при успешном выборе, функция возвращает не число, а строку вида "<Позиция в первом списке>@<Позиция во втором списке>...".
Примеры
Знач:=0; a:=List.Create("Пункт 1","Пункт 2","-","Пункт 3"); If a.Select(Знач,0,"Выберите пункт 2:")=0 Then Message("Пользователь отказался сделать выбор!"); Exit; EndIf; Message("Пользователь выбрал: "+Знач); //Добавляем второй список, как подпункт пункта 3. a.Set(4,List.Create("Подпункт 3.1","Подпункт 3.2","Подпункт 3.3","Подпункт 3.4"),"Пункт 3"); Знач2:=a.Select(Знач,0,"Выберите пункт 3.4:"); If Знач2=0 Then Message("Пользователь отказался сделать выбор!"); Exit; EndIf; Message("Пользователь выбрал путь: "+Знач2+", выбранное значение: "+Знач);