CDialog::OnCancel

El marco de trabajo llama a este método cuando el usuario hace clic en Cancelar o presione la tecla ESC en un cuadro de diálogo modal o no modal.

virtual void OnCancel( );

Comentarios

Invalide este método para realizar acciones (como restaurar datos antiguos) cuando el usuario cierra el cuadro de diálogo haciendo clic Cancelar o alcanzando la tecla ESC.El valor predeterminado cierra un cuadro de diálogo modal llamando a EndDialog y hacer que DoModal devuelve IDCANCEL.

Si implementa el botón de Cancelar en un cuadro de diálogo no modal, debe reemplazar el método de OnCancel y llamar a DestroyWindow dentro de.No llame al método de clase base, ya que llama a EndDialog, que hace que el cuadro de diálogo no visibles pero no destruirlo.

[!NOTA]

No puede reemplazar este método cuando se usa un objeto de CFileDialog en un programa que se compilará con Windows XP.Para obtener más información sobre CFileDialog, vea Clase CFileDialog.

Ejemplo

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

Vea también

Referencia

Clase CDialog

Gráfico de jerarquía

CDialog::OnOK

CDialog::EndDialog