Dialog API

Programming Far Manager plugins

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 отправная точка для пользовательских сообщений
Смотрите также: