-bool wxDialog::MSWProcessMessage(WXMSG* pMsg)
-{
- const MSG * const msg = wx_reinterpret_cast(MSG *, pMsg);
- if ( msg->message == WM_KEYDOWN && msg->wParam == VK_ESCAPE )
- {
- int idCancel = GetEscapeId();
- switch ( idCancel )
- {
- case wxID_NONE:
- // don't handle Esc specially at all
- break;
-
- case wxID_ANY:
- // this value is special: it means translate Esc to wxID_CANCEL
- // but if there is no such button, then fall back to wxID_OK
- if ( EmulateButtonClickIfPresent(wxID_CANCEL) )
- return true;
- idCancel = wxID_OK;
- // fall through
-
- default:
- // translate Esc to button press for the button with given id
- if ( EmulateButtonClickIfPresent(idCancel) )
- return true;
- }
- }
-
- return wxDialogBase::MSWProcessMessage(pMsg);
-}
-