Свойства и функции для работы с меню и списками
К меню относятся следующие области:
прочие меню (Menu
), основное меню (MainMenu
),
меню пользователя (UserMenu
), меню выбора диска (Disks
).
Под списками понимается: список автодополнения (AutoCompletion
),
и различные открытые списки в диалогах (Dialog
) - List box / Combo box / History.
Далее в тексте "меню" и "списки" не разделяются, и упоминаются под общим названием "меню".
Свойства
Все меню | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Оператор | Тип | Описание | ||||||||||||||||||||||
Menu.Value | String | содержимое текущего пункта меню (см. также menu.getvalue()) | ||||||||||||||||||||||
Menu.Info.Id | String | строковое представление идентификатора текущего меню | ||||||||||||||||||||||
Меню выбора диска | ||||||||||||||||||||||||
Оператор | Тип | Описание | ||||||||||||||||||||||
Drv.ShowPos | Number | для какой панели вызвано меню выбора диска: 1 - для левой (Alt+F1), 2 - для правой (Alt+F2). | ||||||||||||||||||||||
Drv.ShowMode | Number | информация, отображаемая в меню выбора дисков; набор битовых флагов:
|
Функции
Функция | Описание | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pos=checkhotkey(S[,StartPos]) | Функция позволяет проверить и получить позицию элемента, для которого назначена горячая клавиша S. Если S - пустая строка, то функция вернёт позицию элемента, для которого горячие клавиши не назначены. Если не задать StartPos, то поиск осуществляется с начала. Работает как в меню, так и в диалогах. Если текущий элемент диалога - открытый список, то функция работает не с диалогом, а с этим списком. Возвращает позицию найденного элемента. 0 - ничего не найдено, -1 - функция вызвана не из меню/диалога/списка. Например: В меню вызова плагинов (F11) плагину S&R назначена горячая клавиша '7'. Следующая последовательность макрокоманд для редактора вызовет плагин (если хоткей назначен) или стандартный диалог поиска (если хоткей не назначен):
|
||||||||||||||||||||||||||||
S=gethotkey([Pos]) | Возвращает горячую клавишу S для пункта меню с номером Pos. Если Pos не указан, или равен 0 - подразумевается текущий пункт. Если горячая клавиша для пункта меню не задана, то возвращается пустая строка (""). В случае ошибки (не меню; нет хоткея; Pos больше чем количество пунктов меню) также возвращается пустая строка. |
||||||||||||||||||||||||||||
N=menu.filter([Action[,Mode]]) | Выполняет операции фильтрации (Ctrl+Alt+F).
Если фильтрация недоступна (не меню; не список) возвращает -1. Если код возврата специально не оговорен, в случае успеха возвращает 1, в случае ошибки 0. |
||||||||||||||||||||||||||||
S=menu.filterstr([Action[,S]]) | Выполняет операции со строкой фильтра (Ctrl+Alt+F).
|
||||||||||||||||||||||||||||
S=menu.getvalue([Pos]) | Возвращает текст пункта меню с номером Pos. Если текущий "объект" не меню или позиция Pos не валидна (меньше 0 или больше количества пунктов в меню), то возвращается пустая строка. Если Pos не указан или равен 0, то действие аналогично применению Menu.Value. Позиция меню не меняется. |
||||||||||||||||||||||||||||
b=menu.itemstatus([Pos]) | Возвращает в младшем слове набор битовых флагов - состояние пункта меню с номером Pos (текущая позиция - Pos=0 или не указан):
В старшем слове - код символа пометки (
Функция работает со всеми пунктами меню, в том числе с теми, которые в данный момент не отображаются (скрытые пункты учитываются в позиции). Если текущий "объект" не меню или позиция Pos невалидна (меньше 0 или больше количества пунктов в меню), то функция возвращает значение -1 (все биты установлены). |
||||||||||||||||||||||||||||
Pos=menu.select(S[,Mode[,Dir]]) | В меню позиционирует курсор на первый пункт, содержащий подстроку S. Поиск регистронезависим. Если такого пункта нет, то ничего не делает. Поиск подстроки ведётся в зависимости от указанного режима Mode:
Если параметр Mode не указан, подразумевается полное совпадение. Параметр Dir задаёт направление поиска:
Возвращает позицию пункта меню (если найден), 0 - ошибка при позиционировании (нет пункта или пункт задисаблен), -1 - функция вызвана не для меню.
|