CDialog::OnCancel
当用户单击 取消 或按模式或无模式对话框时,的ESC键框架调用此方法。
virtual void OnCancel( );
备注
重写此方法执行操作(如将旧数据),当用户通过单击 取消 或按ESC键关闭对话框时。 默认值通过调用 EndDialog 并使 DoModal 返回IDCANCEL关闭有模式对话框。
如果实现在无模式对话框的 取消 按钮,必须重写 OnCancel 方法并对其中的 DestroyWindow。 不要调用基类的方法,即,因为它调用 EndDialog,将使对话框不可见,但不销毁它。
备注
不能重写此方法,当您在编译为在Windows XP下的过程中使用一 CFileDialog 对象。有关 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