CDialog::DoModal

Rufen Sie die Memberfunktion auf, um das modale Dialogfeld aufzurufen und das Dialogfeldergebnis zurückzugeben, wenn die.

virtual INT_PTR DoModal( );

Rückgabewert

Ein int-Wert, der den Wert des nResult-Parameter angibt, der der CDialog::EndDialog-Memberfunktion übergeben wurde, die verwendet wird, um das Dialogfeld zu schließen.Der Rückgabewert ist - 1, wenn die Funktion das Dialogfeld nicht erstellen konnte, oder IDABORT, wenn ein anderer Fehler aufgetreten ist, in diesem Fall Ausgabefenster Fehlerinformationen von GetLastError enthält.

Hinweise

Diese Memberfunktion behandelt alle Interaktion mit dem Benutzer, während das Dialogfeld aktiv ist.Dies ist, was das Dialogfeld modal erstellt; das heißt, kann der Benutzer nicht mit anderen Fenstern interagieren, bis das Dialogfeld geschlossen wird.

Wenn der Benutzer auf einen der Pushbuttone im Dialogfeld, wie OK oder Abbrechen, eine Meldungshandlermemberfunktion, wie OnOK oder OnCancel klickt, wird aufgerufen, um zu versuchen, das Dialogfeld zu schließen.Die standardmäßige OnOK-Memberfunktion überprüft und aktualisiert die Dialogfelddaten und schließt das Dialogfeld mit Ergebnis IDOK, und die standardmäßige OnCancel-Memberfunktion wird das Dialogfeld mit Ergebnis IDCANCEL, ohne die Dialogfelddaten zu überprüfen oder zu aktualisieren.Sie können diese Meldungshandlerfunktionen überschreiben, um dieses Verhalten zu ändern.

HinweisHinweis

PreTranslateMessage wird jetzt für das Meldungsverarbeiten des modalen Dialogfelds aufgerufen.

Beispiel

void CMyDialog::OnMenuShowAboutDialog()
{
   // Construct the dialog box passing the 
   // ID of the dialog template resource
   CDialog aboutDlg(IDD_ABOUTBOX);

   // Create and show the dialog box
   INT_PTR nRet = -1;
   nRet = aboutDlg.DoModal();

   // Handle the return value from DoModal
   switch (nRet)
   {
      case -1: 
         AfxMessageBox(_T("Dialog box could not be created!"));
         break;
      case IDABORT:
         // Do something
         break;
      case IDOK:
         // Do something
         break;
      case IDCANCEL:
         // Do something
         break;
      default:
         // Do something
         break;
   };
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDialog-Klasse

Hierarchien-Diagramm

DialogBox

CWnd::IsDialogMessage