Dialog API
Краткое описание Dialog API
Экспортируемые функции, т.е. те, которые плагин экспортирует для Far Manager
Функция | Описание |
---|---|
ProcessDialogEventW | обработка событий диалога |
Сервисные функции, указатели на эти функции плагины получают от Far Manager в функции SetStartupInfoW
Функция | Описание |
---|---|
DefDlgProc | вызов стандартной функции обработки диалога |
DialogFree | освобождает память, выделенную под внутренние структуры диалога функцией DialogInit |
DialogInit | создаёт (инициализирует) диалог |
DialogRun | показывает диалог созданный функцией DialogInit |
SendDlgMessage | посылка сообщения функции обработки диалога |
Пользовательская функция обработки диалога
Функция | Описание |
---|---|
DlgProc | шаблон функции обработки диалога, используется в DialogInit |
Структуры
Структура | Описание |
---|---|
DialogInfo | информация о диалоге |
FarDialogEvent | информация о событии диалога |
FarDialogItem | элемент диалога |
FarDialogItemColors | изменение цветовых атрибутов элементов диалога |
FarDialogItemData | передача данных элементу диалога |
FarGetDialogItem | запрос элемента диалога |
FarList | список DI_LISTBOX |
FarListDelete | параметры удаления элементов из DI_COMBOBOX и DI_LISTBOX |
FarListFind | поиск элемента из DI_COMBOBOX и DI_LISTBOX |
FarListGetItem | получение одного элемента списка из DI_COMBOBOX и DI_LISTBOX |
FarListInfo | получить информацию о списках DI_COMBOBOX и DI_LISTBOX |
FarListInsert | вставка элемента в DI_COMBOBOX и DI_LISTBOX |
FarListItem | элемент списка |
FarListItemData | ассоциация данных с элементом списка |
FarListPos | позиционирование в списке |
FarListTitles | установка/получение заголовков для списка |
FarListUpdate | данные для обновления элемента списка |
OpenDlgPluginData | информация о вызванном плагине из диалога |
ProcessDialogEventInfo | информацию о событии диалога |
Элементы диалога
Элемент | Описание |
---|---|
DI_BUTTON | кнопка (Push Button) |
DI_CHECKBOX | контрольный переключатель (Check Box) |
DI_COMBOBOX | комбинированный список |
DI_DOUBLEBOX | двойная рамка |
DI_EDIT | поле ввода |
DI_FIXEDIT | поле ввода фиксированного размера |
DI_LISTBOX | окно списка |
DI_PSWEDIT | поле ввода пароля |
DI_RADIOBUTTON | селекторная кнопка (Radio Button) |
DI_SINGLEBOX | одиночная рамка |
DI_TEXT | текстовая строка |
DI_USERCONTROL | элемент управления, определяемый программистом |
DI_VTEXT | вертикальная текстовая строка |
Флаги элементов диалога
Флаг | Описание |
---|---|
DIF_3STATE | элемент DI_CHECKBOX будет иметь 3 состояния |
DIF_BOXCOLOR | текст элемента будет иметь цвет рамок |
DIF_BTNNOCLOSE | для кнопки - не завершать диалог |
DIF_CENTERGROUP | центрирование группы элементов |
DIF_CENTERTEXT | центрирование текста в статических элементах |
DIF_DEFAULTBUTTON | элемент является "элементом по умолчанию" |
DIF_DISABLE | элемент является недоступным |
DIF_DROPDOWNLIST | задаёт стиль не редактируемого списка |
DIF_EDITEXPAND | "расширение" переменных среды в строках ввода |
DIF_EDITOR | последовательно определённые поля ввода |
DIF_EDITPATH | строка ввода будет содержать имена реальных файловых объектов |
DIF_EDITPATHEXEC | ограничивает автодополнение только исполнимыми файлами |
DIF_FOCUS | элемент получает клавиатурный фокус ввода |
DIF_GROUP | группировка RadioButtons |
DIF_HIDDEN | элемент диалога не виден |
DIF_HISTORY | позволяет вести историю редактирования для поля ввода |
DIF_LEFTTEXT | выравнивать заголовки рамок по левому краю |
DIF_LISTAUTOHIGHLIGHT | автоматическое назначение горячих клавиш в списке |
DIF_LISTNOAMPERSAND | позволяет показывать горячие клавиши в списке |
DIF_LISTNOBOX | показывать список без рамки |
DIF_LISTNOCLOSE | не закрывать диалог при выборе элемента из списка |
DIF_LISTTRACKMOUSE | реагировать на движение мыши в списке |
DIF_LISTTRACKMOUSEINFOCUS | реагировать на движение мыши в списке только если элемент находится в фокусе |
DIF_LISTWRAPMODE | "заворачивает" список при навигации по списку |
DIF_MANUALADDHISTORY | обработчик диалога сам будет добавлять строки в историю |
DIF_MASKEDIT | задаёт маску в строках ввода |
DIF_MOVESELECT | изменить выбор внутри группы radio-кнопок при изменении фокуса ввода |
DIF_NOAUTOCOMPLETE | отключить автодополнение для строк редактирования |
DIF_NOBRACKETS | показывает заголовок кнопки без скобок |
DIF_NOFOCUS | управляющий элемент не получает клавиатурный фокус ввода |
DIF_NONE | нулевой флаг |
DIF_READONLY | переводит строки редактирования в состояние "только для чтения" |
DIF_RIGHTTEXT | выравнивать текст по правому краю |
DIF_SELECTONENTRY | при получении фокуса ввода содержимое строки редактирования будет выделяться |
DIF_SEPARATOR | текстовая строка отображается как разделитель диалога (одинарная горизонтальная линия) |
DIF_SEPARATOR2 | текстовая строка отображается как разделитель диалога (двойная горизонтальная линия) |
DIF_SEPARATORUSER | текстовая строка отображается как разделитель диалога (формат линии задается плагином) |
DIF_SETSHIELD | размещает на кнопке аналог "иконки со щитом" Microsoft UAC |
DIF_SHOWAMPERSAND | показывать в текстовой строке амперсанд не используя его для определения горячей клавиши |
DIF_USELASTHISTORY | начальное значение берётся из истории |
DIF_WORDWRAP | усекает очередное слово, если оно не вмещается по ширине элемента |
События
Событие | Описание |
---|---|
DN_BTNCLICK | изменилось состояние кнопок | DN_CLOSE | сигнал о закрытии диалога |
DN_CONTROLINPUT | пользователь нажал клавишу или кликнул клавишей мыши |
DN_CTLCOLORDIALOG | запрос цвета на прорисовку подложки окна диалога |
DN_CTLCOLORDLGITEM | запрос цвета для конкретного элемента диалога |
DN_CTLCOLORDLGLIST | запрос цвета на отрисовку списка |
DN_DRAGGED | информация о перемещениях диалога |
DN_DRAWDIALOG | перед прорисовкой всего диалога |
DN_DRAWDIALOGDONE | прорисовка диалога закончена |
DN_DRAWDLGITEM | перед отрисовкой элемента диалога |
DN_DRAWDLGITEMDONE | после отрисовки элемента диалога |
DN_DROPDOWNOPENED | изменение состояние combobox и history (открыт/закрыт) |
DN_EDITCHANGE | изменение состояния элемента редактирования |
DN_ENTERIDLE | холостое состояние |
DN_GETVALUE | запрос на изменение информации для макросов |
DN_GOTFOCUS | элемент диалога получил клавиатурный фокус ввода |
DN_HELP | вывод темы помощи |
DN_HOTKEY | пользователь нажал Alt-буква |
DN_INITDIALOG | инициализация диалога |
DN_INPUT | возможность перехватить сообщение мыши до его обработки ядром |
DN_KILLFOCUS | перед потерей клавиатурного фокуса элементом диалога |
DN_LISTCHANGE | изменение состояния элемента списка |
DN_LISTHOTKEY | выбор элемента списка с помощью горячей клавиши |
DN_RESIZECONSOLE | нотификационное сообщение "Изменились размеры консоли" |
Сообщения
Сообщение | Описание |
---|---|
DM_ADDHISTORY | добавить строку в историю |
DM_CLOSE | сигнал на закрытие диалога |
DM_EDITUNCHANGEDFLAG | управление состоянием "неизмененный текст" строки редактирования |
DM_ENABLE | переключение/получение состояния Enable/Disable элемента |
DM_ENABLEREDRAW | отключение/включение перерисовки всего диалога |
DM_GETCHECK | получить состояние элементов DI_CHECKBOX и DI_RADIOBUTTON |
DM_GETCOMBOBOXEVENT | получить состояние посылки событий для открытого combo box |
DM_GETCONSTTEXTPTR | получить указатель на внутренний буфер Far Manager, содержащий строку ввода |
DM_GETCURSORPOS | получить позицию курсора |
DM_GETCURSORSIZE | получить размеры курсора |
DM_GETDIALOGINFO | получить информацию о диалоге Far Manager или другого плагина |
DM_GETDIALOGTITLE | получить заголовок диалога |
DM_GETDLGDATA | получить данные, ассоциированные с диалогом |
DM_GETDLGITEM | получение полной информации о элементе |
DM_GETDLGITEMSHORT | получение информации о элементе |
DM_GETDLGRECT | получить координаты диалогового окна |
DM_GETDROPDOWNOPENED | определить - есть ли в диалоге раскрытый комбобокс или история |
DM_GETEDITPOSITION | получить позицию курсора в строках ввода |
DM_GETFOCUS | получить индекс элемента, имеющего фокус ввода |
DM_GETITEMDATA | получить данные, ассоциированные с элементом диалога |
DM_GETITEMPOSITION | получить позицию и размер элемента |
DM_GETSELECTION | получить параметры выделения в строках редактирования диалога |
DM_GETTEXT | получение строки ввода или заголовка элементов |
DM_KEY | передать массив клавиш обработчику диалога |
DM_LISTADD | добавить в список новый элемент |
DM_LISTADDSTR | добавить в список строку |
DM_LISTDELETE | удалить элементы списка |
DM_LISTFINDSTRING | найти элемент списка |
DM_LISTGETCURPOS | получить текущую позицию в списке |
DM_LISTGETDATA | получить данные, ассоциированные с элементом списка |
DM_LISTGETDATASIZE | получить размер данных, ассоциированных с элементом списка |
DM_LISTGETITEM | получить один элемент списка |
DM_LISTGETTITLES | получить заголовки списка |
DM_LISTINFO | получить информацию о списке |
DM_LISTINSERT | вставить элемент в список |
DM_LISTSET | добавление элементов в список с удалением предыдущих элементов |
DM_LISTSETCURPOS | установить позицию в списке |
DM_LISTSETDATA | установить данные, ассоциированные с элементом списка |
DM_LISTSETTITLES | установить заголовки списка |
DM_LISTSORT | сортировать элементы списка |
DM_LISTUPDATE | обновить элемент в списке |
DM_MOVEDIALOG | переместить диалог |
DM_REDRAW | перерисовать весь диалог |
DM_RESIZEDIALOG | изменить размеры диалога |
DM_SET3STATE | изменить стиль DI_CHECKBOX |
DM_SETCHECK | установить состояние элементов DI_CHECKBOX и DI_RADIOBUTTON |
DM_SETCOMBOBOXEVENT | включить или отключить посылку сообщений DN_INPUT или DN_CONTROLINPUT для открытого combo box |
DM_SETCURSORPOS | позиционировать курсор |
DM_SETCURSORSIZE | установить размер курсора |
DM_SETDLGDATA | ассоциировать данные с диалогом |
DM_SETDLGITEM | для изменения информации о заданном элементе |
DM_SETDLGITEMSHORT | для изменения информации о заданном элементе |
DM_SETDROPDOWNOPENED | программное раскрытие/закрытие комбобокса или истории |
DM_SETEDITPOSITION | управление позицией курсора в строках ввода |
DM_SETFOCUS | устанавливает клавиатурный фокус на заданный элемент диалога |
DM_SETHISTORY | управление наличием истории. |
DM_SETINPUTNOTIFY | управление первичным событием мыши |
DM_SETITEMDATA | ассоциировать данные с элементом диалога |
DM_SETITEMPOSITION | изменить позицию элемента |
DM_SETMAXTEXTLENGTH | задать максимальный размер редактируемой строки или заголовка элемента |
DM_SETSELECTION | выделить блок в строках редактирования диалога |
DM_SETTEXT | установить строку ввода или заголовок элемента |
DM_SETTEXTPTR | установить строку ввода или заголовок элемента |
DM_SHOWDIALOG | показать/спрятать диалоговое окно |
DM_SHOWITEM | показать/спрятать элемент диалога |
DM_USER | отправная точка для пользовательских сообщений |
Смотрите также: