Udostępnij za pośrednictwem


CDialog::OnCancel

Ramy wywołuje tej metody, gdy użytkownik kliknie anulowanie lub naciśnie klawisz ESC w oknie dialogowym modalny lub niemodalny.

virtual void OnCancel( );

Uwagi

Zastąpienie tej metody do wykonywania akcji (takich jak przywracanie danych starych) gdy użytkownik zamyka okno dialogowe, klikając anulowanie lub naciśnięcie klawisza ESC.Domyślnie zamyka modalnego okna dialogowego, wywołując EndDialog i powodując DoModal zwraca IDCANCEL.

W przypadku zastosowania anulowanie przycisk w oknie dialogowym niemodalny, należy zastąpić OnCancel metody i wywołanie DestroyWindow wewnątrz niego.Nie wywołać metodę klasy base, ponieważ wywołuje EndDialog, który będzie niewidoczna okno dialogowe, ale nie zniszczyć.

[!UWAGA]

Tej metody nie można zastąpić, korzystając z CFileDialog obiekt w programie, który jest skompilowany w systemie Windows XP.Więcej informacji o CFileDialog, zobacz Klasa CFileDialog.

Przykład

void CSimpleDlg::OnCancel()
{
   // TODO: Add extra cleanup here

   // Ensure that you reset all the values back to the
   // ones before modification. This handler is called
   // when the user doesn't want to save the changes.

   if (AfxMessageBox(_T("Are you sure you want to abort the changes?"), 
      MB_YESNO) == IDNO)
   {
      // Give the user a chance if he has unknowingly hit the
      // Cancel button. If he says No, return. Don't reset. If
      // Yes, go ahead and reset the values and close the dialog.
      return; 
   }

   m_nMyValue = m_nPrevValue;
   m_pMyString = NULL; 

   CDialog::OnCancel();
}

Wymagania

Header:afxwin.h

Zobacz też

Informacje

Klasa CDialog

Wykres hierarchii

CDialog::OnOK

CDialog::EndDialog