# Краткое описание - Dialog API

DialogAPI выделен в отдельное API, для максимального контроля над созданным диалогом.

Менеджер диалогов поддерживает только так называемые Модальные Диалоги (Modal Dialog). Модальный диалог представляет собой окно, запрещающее пользователю взаимодействовать с любым объектом FAR Manager вне данного диалога. Модальный диалог отсекает поток сообщений, идущих от мыши или клавиатуры к другим объектам FAR Manager.

### Подробности

Плагин полностью управляет поведением диалога:

- диалог имеет функцию-обработчик, которая реагирует на массу событий, приходящих от Менеджера диалогов;
- функция-обработчик общается с Менеджером Диалогов путём посылки сообщений, используя функцию SendDlgMessage;
- функция-обработчик может передать управление Менеджеру Диалогов используя функцию DefDlgProc;
- окончанием обработки диалога управляет плагин.

Если в обработчике диалога просто передать управление ядру посредством функции DefDlgProc, то получим... простой, неуправляемый диалог (такие же диалоги можно получить при вызове функции DialogInit с параметром DlgProc, равным NULL):

    // минимальный обработчик диалога
    intptr_t WINAPI MyDlgProc(HANDLE hDlg, intptr_t Msg, intptr_t Param1, void *Param2)
    {
      return Info.DefDlgProc(hDlg,Msg,Param1,Param2);
    }

Итак. Dialog API:

Сервисные функции и cтруктуры
Макросы и типы
Элементы диалога
Флаги элементов диалога
События
Сообщения

Смотрите также:
Экспортируемые функции, Сервисные функции, Структуры