Sdílet prostřednictvím


CDialog::OnCancel

Rámci volání této metody, po klepnutí na Zrušit nebo stiskne klávesu ESC v nemodální nebo modální dialogové okno.

virtual void OnCancel( );

Poznámky

Přepsat tuto metodu provádět akce (například obnovení dat staré) kdy uživatel zavře dialogové okno klepnutím na Zrušit nebo stisknutí klávesy ESC.Výchozí modální dialogové okno zavře voláním EndDialog a způsobuje DoModal IDCANCEL vrátit.

Pokud implementujete Zrušit tlačítko nemodální dialogového musí přepsat OnCancel metoda a volání DestroyWindow uvnitř.Nevolejte metody třídy base, protože volá EndDialog , který bude potlačit dialogové okno, ale není jeho zničení.

[!POZNÁMKA]

Tuto metodu nelze přepsat, při použití CFileDialog objektu v programu, který je zkompilován v systému Windows XP.Pro více informací o CFileDialog si prohlédněte Třída CFileDialog.

Příklad

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();
}

Požadavky

Header:afxwin.h

Viz také

Referenční dokumentace

Třída CDialog

Diagram hierarchie

CDialog::OnOK

CDialog::EndDialog