X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/119727ad9e58e42326764a259a5b88267bb43528..a9102b3671a45d116d781b0c8e90d2e9a84fbdcb:/src/msw/dialog.cpp diff --git a/src/msw/dialog.cpp b/src/msw/dialog.cpp index 5d86517ffd..a42c6494aa 100644 --- a/src/msw/dialog.cpp +++ b/src/msw/dialog.cpp @@ -47,9 +47,9 @@ #include #endif -#ifdef __SMARTPHONE__ +#if defined(__SMARTPHONE__) && defined(__WXWINCE__) #include "wx/msw/wince/resources.h" -#endif // __SMARTPHONE__ +#endif // __SMARTPHONE__ && __WXWINCE__ // ---------------------------------------------------------------------------- // wxWin macros @@ -184,9 +184,7 @@ bool wxDialog::Create(wxWindow *parent, if ( !m_hasFont ) SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); - -#ifdef __SMARTPHONE__ +#if defined(__SMARTPHONE__) && defined(__WXWINCE__) SetLeftMenu(wxID_OK, _("OK")); #endif @@ -206,7 +204,7 @@ wxDialog::wxDialog(wxWindow *parent, { Init(); - Create(parent, -1, title, wxPoint(x, y), wxSize(w, h), style, name); + Create(parent, wxID_ANY, title, wxPoint(x, y), wxSize(w, h), style, name); } void wxDialog::SetModal(bool WXUNUSED(flag)) @@ -431,14 +429,35 @@ void wxDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) void wxDialog::OnSysColourChanged(wxSysColourChangedEvent& WXUNUSED(event)) { -#if wxUSE_CTL3D - Ctl3dColorChange(); -#else SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); Refresh(); -#endif } +#ifdef __POCKETPC__ +// Responds to the OK button in a PocketPC titlebar. This +// can be overridden, or you can change the id used for +// sending the event, by calling SetAffirmativeId. +bool wxDialog::DoOK() +{ + wxButton *btn = wxDynamicCast(FindWindow(GetAffirmativeId()), wxButton); + + if ( btn && btn->IsEnabled() ) + { + // If we have this button, press it + btn->MSWCommand(BN_CLICKED, 0 /* unused */); + return true; + } + else + { + wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, GetAffirmativeId()); + event.SetEventObject(this); + + return GetEventHandler()->ProcessEvent(event); + } +} +#endif + + // --------------------------------------------------------------------------- // dialog window proc // --------------------------------------------------------------------------- @@ -456,17 +475,13 @@ WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPar { switch ( LOWORD(wParam) ) { -#ifndef __SMARTPHONE__ +#ifdef __POCKETPC__ case IDOK: - wxButton *btn = wxDynamicCast(FindWindow(wxID_CANCEL), wxButton); - if ( btn && btn->IsEnabled() ) - { - // if we do have a cancel button, do press it - btn->MSWCommand(BN_CLICKED, 0 /* unused */); - processed = true; - break; - } -#else // ifdef __SMARTPHONE__ + processed = DoOK(); + if (!processed) + processed = !Close(); +#endif +#ifdef __SMARTPHONE__ case IDM_LEFT: case IDM_RIGHT: processed = HandleCommand( LOWORD(wParam) , 0 , NULL ); @@ -532,18 +547,3 @@ WXLRESULT wxDialog::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPar return rc; } -#if wxUSE_CTL3D - -// Define for each class of dialog and control -WXHBRUSH wxDialog::OnCtlColor(WXHDC WXUNUSED(pDC), - WXHWND WXUNUSED(pWnd), - WXUINT WXUNUSED(nCtlColor), - WXUINT message, - WXWPARAM wParam, - WXLPARAM lParam) -{ - return (WXHBRUSH)Ctl3dCtlColorEx(message, wParam, lParam); -} - -#endif // wxUSE_CTL3D -