X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/721b32e05823b7b7356f9a7a99f7d0af457dc5f3..1363811bb6338fb0dad6c16cfa47f46fb1eb3b99:/src/msw/dialog.cpp?ds=sidebyside diff --git a/src/msw/dialog.cpp b/src/msw/dialog.cpp index 49c48a65d2..6b335758d2 100644 --- a/src/msw/dialog.cpp +++ b/src/msw/dialog.cpp @@ -58,11 +58,6 @@ extern wxList WXDLLEXPORT wxPendingDelete; END_EVENT_TABLE() #endif -bool wxDialog::MSWProcessMessage(WXMSG* pMsg) -{ - return (::IsDialogMessage((HWND) GetHWND(), (MSG*)pMsg) != 0); -} - bool wxDialog::MSWOnClose(void) { return Close(); @@ -116,6 +111,9 @@ bool wxDialog::Create(wxWindow *parent, wxWindowID id, if (height < 0) height = 500; + // All dialogs should really have this style + m_windowStyle |= wxTAB_TRAVERSAL; + WXDWORD extendedStyle = MakeExtendedStyle(m_windowStyle); if (m_windowStyle & wxSTAY_ON_TOP) extendedStyle |= WS_EX_TOPMOST; @@ -213,13 +211,13 @@ void wxDialog::OnCharHook(wxKeyEvent& event) { if (event.m_keyCode == WXK_ESCAPE) { - // Behaviour changed in 2.0: we'll send a Cancel message - // to the dialog instead of Close. - wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL); - cancelEvent.SetEventObject( this ); - GetEventHandler()->ProcessEvent(cancelEvent); + // Behaviour changed in 2.0: we'll send a Cancel message + // to the dialog instead of Close. + wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL); + cancelEvent.SetEventObject( this ); + GetEventHandler()->ProcessEvent(cancelEvent); - return; + return; } } // We didn't process this event. @@ -361,12 +359,14 @@ bool wxDialog::Show(bool show) // a message before the deletion. while (wxModalDialogs.Member(this) && m_modalShowing && GetMessage(&msg, NULL, 0, 0)) { - if (m_acceleratorTable.Ok() && - ::TranslateAccelerator((HWND) GetHWND(), (HACCEL) m_acceleratorTable.GetHACCEL(), &msg)) + if ( m_acceleratorTable.Ok() && + ::TranslateAccelerator((HWND)GetHWND(), + (HACCEL)m_acceleratorTable.GetHACCEL(), + &msg) ) { // Have processed the message } - else if (!IsDialogMessage((HWND) GetHWND(), &msg)) + else if ( !wxTheApp->ProcessMessage((WXMSG *)&msg) ) { TranslateMessage(&msg); DispatchMessage(&msg); @@ -560,7 +560,7 @@ void wxDialog::OnCancel(wxCommandEvent& event) else { SetReturnCode(wxID_CANCEL); - this->Show(FALSE); + this->Show(FALSE); } }