Страница 48 из 238
DoModal
virtual int DoModal();
Возвращаемое значение
Целочисленное значение, соответствующее значению аргумента
nResult функции
CDialog::EndDialog, которая использовалась для закрытия данного диалогового окна. Возвращаемое значение может быть -1, если функции не удалось создать данное диалоговое окно, или
IDABORT, если при его создании возникла какая-либо другая ошибка.
Описание
Функция
DoModal используется для отображения модального диалогового окна и возвращения результатов после его закрытия. Данная функция поддерживает интерфейс с пользователем при отображении диалогового окна. Она делает открытое ею диалоговое окно модальным, то есть перехватывает все обращения пользователя к приложению и реагирует только на обращения к элементам управления данного диалогового окна. Все остальные обращения пользователя игнорируются, кроме немаскируемого прерывания. Если пользователь нажимает в диалоговом окне кнопку OK или кнопку Cancel (Отмена), то вызываются соответствующие им функции обработки сообщений
OnOK или
OnCancel, закрывающие данное диалоговое окно. По умолчанию функция
OnOK обновляет содержимое переменных в объекте класса диалогового окна, проверяет их правильность и закрывает диалоговое окно, возвращая величину
IDOK, а функция
OnCancel закрывает диалоговое окно без обновления значений переменных в данном объекте и возвращает величину
IDCANCEL. Пользователь может перегружать эти функции. В настоящее время в стандартный процесс создания модального диалогового окна включена функция
PreTranslateMessage.