virtual int DoModal( );
Возвращаемое значение
Значение int, которое определяет значение nResult параметра, который был передан к CDialog::EndDialog функции, который используется, чтобы закрыть диалоговое окно. Возвращаемое значение было бы -1, если функция не могла бы создавать диалоговое окно, или IDABORT, если некоторая другая ошибка произошла.
Замечания
Вызовите эту функцию, чтобы вызвать модальное диалоговое окно и возвращать результат диалогового окна когда выполнено. Эта функция обрабатывает все взаимодействие с пользователем, в то время как диалоговое окно активно. Это - то, что делает диалоговое окно модальным, то есть пользователь не может взаимодействовать с другими окнами, пока диалоговое окно не закрыто.
Если пользователь нажимает одну из кнопок в диалоговом окне, типа OK или Cancel, функции драйвера сообщения, типа OnOK или OnCancel вызваны к попытке, чтобы закрыть диалоговое окно. Значение по умолчанию OnOK функции - проверить правильность и модифицировать данные диалогового окна и закрывать диалоговое окно с результатом IDOK. Эначение по умолчанию OnCancel функции - закроет диалоговое окно с результатом IDCANCEL без того, чтобы подтвердить правильность или модифицировать данные диалогового окна. Вы можете перегружать эти функции драйвера сообщения, чтобы изменить их поведение.
Пример
void CTstApp::OnAppAbout()
{
// Создать диалоговое окно, передающее
// ID ресурса шаблона диалога
CDialog aboutDlg(IDD_ABOUTBOX);
// Создайте и покажите диалоговое окно
int nRet = -1;
nRet = aboutDlg.DoModal();
// Обработайте возвращаемое значение из DoModal
switch ( nRet )
{
case -1:
AfxMessageBox("Dialog box could not be created!");
break;
case IDABORT:
// Делайте что-то
break;
case IDOK:
// Делайте что-то
break;
case IDCANCEL:
// Делайте что-то
break;
default:
// Делайте что-то
break;
};
}