MFC プログラムでの Enter/Esc キーのフラッシュバックの問題を解決する
CDialog の 2 つの関数 OnOK&OnCancel をオーバーロードし、WM_CLOSE メッセージの処理関数をオーバーロードして、その中で EndDialog(IDCANCEL) を呼び出します。
...
class CUSBTOFDDlg : public CDialog
{
...
protected:
virtual void OnOK();
virtual void OnCancel();
afx_msg void OnClose();
...
}
...
...
BEGIN_MESSAGE_MAP(CUSBTOFDDlg, CDialog)
ON_WM_CLOSE()
END_MESSAGE_MAP()
...
...
void CUSBTOFDDlg::OnOK()
{
}
void CUSBTOFDDlg::OnCancel()
{
}
void CUSBTOFDDlg::OnClose()
{
EndDialog(IDCANCEL);
}
...