Окт 16

Диалоговые окна

Диалоговые окна, или окна диалога (dialog box), реализуют одну из важнейших составляющих программирования Windows-приложений. Обычно диалоговые окна используются для получения от пользователя дополнительной информации, а также для вывода результатов работы приложения.
Диалоговое окно имеет вид всплывающего окна с одним или несколькими элементами управления (controls), которые являются для него дочерними окнами. Используя элементы управления, пользователь вводит текст, выбирает указанные опции (флажки, переключатели, элементы списка) и нажимает кнопки, вызывающие различные действия приложения.
От обычных окон диалоговые окна отличаются тем, что они создаются на базе предопределенного в Windows класса диалоговых окон. Оконная процедура этого класса, спрятанная в недрах Windows, обеспечивает обработку сообщений, поступающих в диалоговое окно, а также задает специфическое поведение элементов управления диалогового окна. Например, она управляет передачей фокуса ввода от одного элемента другому или переносит фокус ввода между группами элементов при нажатии клавиши Tab. Эту невидимую для программиста оконную процедуру иногда называют менеджером диалогового окна (dialog box manager).
Менеджер диалогового окна передает многие сообщения в функцию, определенную в вашем приложении, которая называется процедурой диалогового окна, или просто диалоговой процедурой (dialog procedure). Эта процедура похожа на обычную оконную процедуру, но все же имеет некоторые важные особенности, которые будут рассмотрены ниже.
Второе отличие диалоговых окон от обычных окон состоит в том, что они всегда связаны с шаблоном диалога, содержащим размеры окна, состав и расположение элементов управления. Шаблон диалогового окна можно определить двумя способами: а) в файле описания ресурсов, используя редактор диалоговых окон, б) создавая шаблон в памяти в процессе работы приложения.