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

## Свойства

Оператор | Тип | Описание
--- | --- | ---
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 | Описание
--- | --- | ---
0 | Number | Количество элементов диалога
2 | Number | X1
3 | Number | Y1
4 | Number | X2
5 | Number | Y2
6 | Number | Pos текущего элемента, имеющего клавиатурный фокус ввода
Для элементов диалога допустимы следующие значения Type:
Type | Тип V | Элемент | Описание
--- | --- | --- | ---
0 | Number | Check box | Состояние переключателя
Number | Radio buttons | Состояние переключателя
String | List box | Значение текущего элемента списка
String | Combo box | Значение текущего элемента списка
String | Остальные | Текстовое значение (поле FarDialogItem.Data)
1 | Number | Все | Тип элемента
2 | Number | Все | X1 относительно диалога
3 | Number | Все | Y1 относительно диалога
4 | Number | Все | X2 относительно диалога
5 | Number | Все | Y2 относительно диалога
6 | Number | Все | элемент в фокусе? (0/1)
7 | Number | Check box | Состояние переключателя
Number | Radio buttons | Состояние переключателя
Number | List box | Текущая позиция в списке
Number | Combo box | Текущая позиция в списке
Number | Остальные | 0
8 | Number | Все | Флаги элемента
9 | Number | Все | Флаг, означающий, что данный элемент диалога является "элементом по умолчанию"
10 | String | Остальные | Текстовое значение (поле FarDialogItem.Data)
11 | Number | List box | Количество элементов списка
Number | Combo 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войства и функции для меню и списков.

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

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