На этом шаге мы рассмотрим диалоговые окна.
Диалоговые окна - это специальный вид окон. Диалоговые окна обычно заполнены элементами управления, которые могут взаимодействовать с пользователем посредством отображения выходных данных и приема входных данных.
VPI обеспечивает набор "стандартных диалоговых окон" или удобных предопределенных диалоговых окон и набор обработчиков с простым интерфейсом вызовов функций для часто встречающихся ситуаций. Все предикаты VPI в этой группе начинаются с префикса dlg_ и могут быть легко вставлены в исходный код при помощи меню правой кнопки мыши.
Если нет подходящего стандартного диалогового окна, то можно спроектировать свое диалоговое окно в редакторе окон и диалоговых окон VDE. Это диалоговое окно можно сохранить в файле ресурсов (RES-файл). Диалоговое окно можно создать и динамическим вызовом нескольких предикатов, или вызовом предиката win_CreateControl для создания элементов управления из windef_list. Какой бы метод не использовался, эксперт диалоговых окон VDE может сгенерировать структуру кода.
Установка, получение или изменение содержимого элементов управления в диалоговом окне могут быть выполнены как поэлементно с использованием предикатов VPI, так и на основе отдельного диалогового окна с помощью пакета диалоговых окон VPI.
В диалоговых окнах, в отличие от обычных окон, существует возможность перемещаться между элементами управления при помощи клавиши <Таb> и комбинации клавиш <Shift> + <Tab>.
Напомним, что существует два вида диалоговых окон: немодальные и модальные. Одновременно на экране может находиться любое число немодальных диалоговых окон и каждое из них в любой момент может быть активизировано пользователем. Модальное же диалоговое окно должно быть закрыто прежде, чем пользователь сможет активизировать любое другое окно, меню или элемент управления в приложении.
В операционной системе MS Windows диалоговые окна всегда будут появляться и оставаться перед их родительскими окнами и не будут соблюдать их границы.
На следующем шаге мы рассмотрим стандартные диалоговые окна.