CDialog::OnCancel
Das Framework ruft diese Methode auf, wenn der Benutzer auf klickt Abbrechen oder ESC-TASTE in einem modalen oder in einem nicht modalen Dialogfeld drückt.
virtual void OnCancel( );
Hinweise
Überschreiben Sie diese Methode, um Aktionen auszuführen (wie Wiederherstellen von alten Daten) wenn ein Benutzer das Dialogfeld geschlossen wird, indem er auf Abbrechen klickt oder die ESC-TASTE trifft.Standardmäßig enthält ein modales Dialogfeld, indem EndDialog aufruft und DoModal bewirkt, IDCANCEL zurückzugeben.
Wenn Sie die Schaltfläche Abbrechen in einem nicht modalen Dialogfeld implementieren, müssen Sie die OnCancel-Methode überschreiben und DestroyWindow darin aufrufen.Rufen Sie nicht die Basisklassenmethode auf, da sie EndDialog, die das Dialogfeld nicht sichtbar erstellt, jedoch nicht, zu zerstören aufruft.
Hinweis |
---|
Sie können diese Methode nicht überschreiben, wenn Sie ein CFileDialog-Objekt in einem Programm verwenden, das unter Windows XP kompiliert wird.Weitere Informationen zur CFileDialog-Komponente finden Sie unter CFileDialog-Klasse. |
Beispiel
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();
}
Anforderungen
Header: afxwin.h