Свойства и функции для работы с диалогами - Макросы

Programming Far Manager plugins

Свойства и функции для работы с диалогами

Свойства

ОператорТипОписание
Dlg.ItemCount Number количество элементов диалога
Dlg.CurPos Number номер текущего (фокусного) элемента диалога
Dlg.PrevPos Number номер предыдущего фокусного элемента диалога
Dlg.Info.Id GUID строковое представление идентификатора текущего диалога в формате "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" (см. GUID объектов)
Dlg.ItemType Number тип фокусного элемента диалога
Значение Описание
-1Ошибка, например, Dlg.ItemType вызван не в диалоге
4Поле ввода
5Поле ввода пароля
6Поле ввода фиксированного размера
7Кнопка (Button)
8Контрольный переключатель (Check box)
9Селекторная кнопка (Radio button)
10Комбинированный список (Combo box)
11Окно списка (List box)*
255Элемент управления, определяемый программистом
0x8004Выбор из истории поля ввода*
0x800AВыбор из комбинированного списка*

Функции

Функция Описание
V=Dlg.GetValue([Pos[,Type]])

Получить различные значения текущего диалога.

Pos - номер элемента диалога (0 - само диалоговое окно). Если параметр не указан или равен -1, то функция вернет значение для текущего фокусного элемента.

Type - тип получаемой информации, зависит от типа элемента. Если параметр не указан, то подразумевается, что Type=0.

Для самого диалога (Pos=0) допустимы следующие значения Type:

TypeТип VОписание
0NumberКоличество элементов диалога
2NumberX1
3NumberY1
4NumberX2
5NumberY2
6NumberPos текущего элемента, имеющего клавиатурный фокус ввода
Для элементов диалога допустимы следующие значения Type:
TypeТип VЭлементОписание
0NumberCheck boxСостояние переключателя
NumberRadio buttonsСостояние переключателя
StringList boxЗначение текущего элемента списка
StringCombo boxЗначение текущего элемента списка
StringОстальныеТекстовое значение (поле FarDialogItem.Data)
1NumberВсеТип элемента
2NumberВсеX1 относительно диалога
3NumberВсеY1 относительно диалога
4NumberВсеX2 относительно диалога
5NumberВсеY2 относительно диалога
6NumberВсеэлемент в фокусе? (0/1)
7NumberCheck boxСостояние переключателя
NumberRadio buttonsСостояние переключателя
NumberList boxТекущая позиция в списке
NumberCombo boxТекущая позиция в списке
NumberОстальные0
8NumberВсеФлаги элемента
9NumberВсеФлаг, означающий, что данный элемент диалога является "элементом по умолчанию"
10StringОстальныеТекстовое значение (поле FarDialogItem.Data)
11NumberList boxКоличество элементов списка
NumberCombo boxКоличество элементов списка
Возвращает -1, если Pos больше количества элементов диалога или значение Type не поддерживается. Если текущий объект плагиновый диалог, то плагин может возвращать модифицированные данные (см. DN_GETVALUE).
N=Dlg.SetFocus([ID])

Функция позволяет установить фокус ввода на элемент с номером ID.

Если параметр ID не указан или равен 0, то возвращает номер текущего (фокусного) элемента.

Функция возвращает -1 (внутренняя ошибка или функция применена вне диалога), 0 (параметр ID содержит номер нефокусного элемента) или номер предыдущего фокусного элемента.

Pos=checkhotkey(S[,StartPos])

Функция позволяет проверить и получить позицию элемента, для которого назначена горячая клавиша S.

Подробности в описании cвойств и функций для меню и списков.

V=editor.sel(Action[,Opt])

Функция позволяет производить некоторые операции с блоками в тексте (в редакторе, в строках ввода в диалогах, в командной строке).

Подробности в описании свойств и функций для редактора.

Замечания

  1. Элементы диалога нумеруются с 1.
  2. Элементы списков нумеруются с 1.
  3. Для работы со списками можно использовать cвойства и функции для меню и списков.

    (Под списками понимаются такие элементы диалога, как "Окно списка", "Выбор из истории поля ввода", "Выбор из комбинированного списка").

Смотрите также: