Udostępnij za pośrednictwem


CDialog::DoModal

Wywołanie tej funkcji Członkowskich modalnego okna dialogowego i zwraca wynik okno dialogowe, po zakończeniu.

virtual INT_PTR DoModal( );

Wartość zwracana

int Wartość, która określa wartość nResult parametr przekazany do CDialog::EndDialog Członkowskich funkcji, która jest używana, aby zamknąć okno dialogowe.Zwracana jest wartość –1, jeżeli funkcja nie może utworzyć okno dialogowe lub IDABORT , jeśli wystąpił inny błąd, w którym to przypadku okna wyjściowego będzie zawierać informacje o błędzie z GetLastError.

Uwagi

Ta funkcja Członkowskie obsługuje wszystkich interakcji z użytkownikiem, podczas, gdy aktywne jest okno dialogowe.Jest to, co sprawia, że okno dialogowe jest modalny; oznacza to, że użytkownik nie mogą współdziałać z innych okien do momentu zamknięcia okna dialogowego.

Jeśli użytkownik kliknie jeden z przycisków w oknie dialogowym, jak OK lub Anuluj Członkowskie funkcji obsługi wiadomości, takich jak OnOK lub OnCancel, jest nazywany próbuje zamknąć okno dialogowe.Domyślnie OnOK Członkowskich funkcja będzie sprawdzania poprawności i aktualizacji danych okno dialogowe i zamknąć okno dialogowe wynik IDOKi domyślnie OnCancel funkcji składowej zamknie okno dialogowe wynik IDCANCEL bez sprawdzania poprawności lub aktualizowania danych okno dialogowe.Można zastąpić te funkcje obsługi wiadomości, zmieniać ich zachowanie.

[!UWAGA]

PreTranslateMessageteraz jest wywoływana dla przetwarzania wiadomości okno modalne okno dialogowe.

Przykład

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

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CDialog

Wykres hierarchii

DialogBox

CWnd::IsDialogMessage