Pour redéfinir OnCancel ajoute dans ta classe de dialogue (fichier .h) :
virtual void OnCancel();
puis dans le source .cpp
void CMyDialog::OnCancel()
{
}
Mais cette solution ne fonctionne qu'à moitié, car OnCancel est aussi
appelée si l'on referme le dialogue par la case de fermeture de la
fenêtre.
Autre possibilité : surcharge PreTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
return true;
return CDialog::PreTranslateMessage(pMsg);
}
|