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