CDialog::OnCancel
A estrutura chama esse método quando o usuário clica em Cancelar ou pressiona a tecla ESC em uma caixa de diálogo modal ou sem janela restrita.
virtual void OnCancel( );
Comentários
Substitua esse método para executar ações (como restaurar dados antigos) quando um usuário fechar a caixa de diálogo clicando Cancelar ou batendo a tecla ESC.A opção fechar uma caixa de diálogo modalmente chamando EndDialog e fazer com que DoModal retorna IDCANCEL.
Se você implementar o botão de Cancelar em uma caixa de diálogo sem-modo, você deve substituir o método de OnCancel e chamar DestroyWindow dentro de ele.Não chame o método da classe base, pois chama EndDialog, que irão a caixa de diálogo invisível mas não para destrui-lo.
Observação |
---|
Você não pode substituir esse método quando você usa um objeto de CFileDialog em um programa que foi criado no Windows XP.Para obter mais informações sobre o CFileDialog, consulte Classe de CFileDialog. |
Exemplo
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();
}
Requisitos
Header: afxwin.h