Dialog API 1.0

Внимание! Внимание!

DialogAPI выделен в отдельное API, начиная с версии FAR Manager 1.70. Что это значит для плагинописателей? Самое главное - максимальный контроль над созданным диалогом.

Различаются два типа диалогов:

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

About стиль

Здесь все просто - НЕУПРАВЛЯЕМЫЕ ДИАЛОГИ! Такие диалоги получаются при вызове функции Dialog или DialogEx с параметром DlgProc, равным NULL.

Данный стиль предполагает следующее поведение диалога:

Extended стиль

А вот это... это самое интересное! Плагин полностью управляет поведением диалога: Если в обработчике диалога просто передать управление ядру посредством функции DefDlgProc, то получим... тот же About-стиль:
// минимальный обработчик диалога
LONG_PTR WINAPI MyDlgProc(HANDLE hDlg,int Msg,int Param1,LONG_PTR Param2)
{
  return Info.DefDlgProc(hDlg,Msg,Param1,Param2);
}

Критерии выбора стиля диалога просты:

Итак. Dialog API версии 1.0:

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

 

Примечание

Для ознакомления с Dialog API рекомендуется изучить файл dialog.cpp из плагина "Reversi".
Смотрите также:
Экспортируемые функции, Сервисные функции, Структуры, Поддержка архивов, Дополнения