CDialog::OnCancel
Платформа вызывает этот метод, когда пользователь нажимает клавишу ESC Отмена или ключ в диалоговом окне режимного или немодального.
virtual void OnCancel( );
Заметки
Переопределите этот метод, чтобы выполнить действия (например, восстановление старые данные), когда пользователь закрывает диалоговое окно, щелкните Отмена или обращение к ключ ESC. Значение по умолчанию закрывает модального диалогового окна с помощью вызова EndDialog и приводить к DoModal вернуть IDCANCEL.
Если реализуется кнопку Отмена в диалоговом окне modeless, необходимо переопределить метод OnCancel и вызвать DestroyWindow внутри него. Не нужно вызывать метод базового класса, поскольку он вызывает EndDialog, которое сделает диалоговое окно невидимым, но не удалить его.
Примечание
Нельзя переопределить этот метод при использовании объекта CFileDialog в программе, компилирована в Windows XP.Дополнительные сведения о CFileDialog см. в разделе Класс CFileDialog.
Пример
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();
}
Требования
Header: afxwin.h