Aracılığıyla paylaş


CDialog::DoModal

Modal iletişim kutusunu çağırmak ve işiniz bittiğinde iletişim sonucu dönmek için bu üye işlevini çağırın.

virtual INT_PTR DoModal( );

Dönüş Değeri

Bir int değerini belirten değeri nResult için geçirilen parametre CDialog::EndDialog iletişim kutusunu kapatmak için kullanılan üye işlevi.Dönüş değeri işlevi iletişim kutusunu oluşturamadı –1 ise veya IDABORT başka bir hata oluştuğunda, durumda ise Output penceresi hata bilgileri içerecek GetLastError.

Notlar

İletişim kutusu etkinken, bu üye işlevi tüm kullanıcı etkileşimi yürütür.Bu yüzden, iletişim kutusu kalıcı yapar; diğer bir deyişle, kullanıcı iletişim kutusu kapatılana kadar diğer windows ile etkileşime giremez.

Kullanıcı iletişim kutusunda Tamam'ı veya İptal'İ, ileti işleyicisi üye işlevi gibi pushbuttons biri gibi tıklarsa OnOK veya OnCancel, iletişim kutusunu kapatmak denemek için çağrılır.Varsayılan değer OnOK üye işlev doğrula iletişim kutusunda veri güncelleştirmek ve sonucu ile iletişim kutusunu kapatmak IDOKve varsayılan OnCancel üye işlevi sonuç ile iletişim kutusunu kapatın IDCANCEL doğrulanırken veya güncelleştirilirken iletişim kutusunda veri olmadan.Bu ileti işleyicisi işlevler davranışlarını değiştirmek için geçersiz kılabilirsiniz.

[!NOT]

PreTranslateMessageŞimdi kalıcı bir iletişim kutusu iletisi işleme için çağrılır.

Örnek

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

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CDialog sınıfı

Hiyerarşi grafik

DialogBox

CWnd::IsDialogMessage