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; }; }