X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e190f0ed9c242e6df5fd4dd99fdaf6c9dea1cda..7b98cf028f6ecbdbcebda06756a99f095dfd9239:/src/msw/spinctrl.cpp?ds=sidebyside diff --git a/src/msw/spinctrl.cpp b/src/msw/spinctrl.cpp index 1b9910d66f..2a1826c45a 100644 --- a/src/msw/spinctrl.cpp +++ b/src/msw/spinctrl.cpp @@ -207,7 +207,7 @@ bool wxSpinCtrl::ProcessTextCommand(WXWORD cmd, WXWORD WXUNUSED(id)) wxString val = wxGetWindowText(m_hwndBuddy); event.SetString(val); event.SetInt(GetValue()); - return GetEventHandler()->ProcessEvent(event); + return HandleWindowEvent(event); } // not processed @@ -225,7 +225,7 @@ void wxSpinCtrl::OnChar(wxKeyEvent& event) wxString val = wxGetWindowText(m_hwndBuddy); event.SetString(val); event.SetInt(GetValue()); - if ( GetEventHandler()->ProcessEvent(event) ) + if ( HandleWindowEvent(event) ) return; break; } @@ -241,7 +241,7 @@ void wxSpinCtrl::OnChar(wxKeyEvent& event) eventNav.SetWindowChange(event.ControlDown()); eventNav.SetEventObject(this); - if ( GetParent()->GetEventHandler()->ProcessEvent(eventNav) ) + if ( GetParent()->HandleWindowEvent(eventNav) ) return; } break; @@ -571,7 +571,7 @@ void wxSpinCtrl::SendSpinUpdate(int value) event.SetEventObject(this); event.SetInt(value); - (void)GetEventHandler()->ProcessEvent(event); + (void)HandleWindowEvent(event); m_oldValue = value; } @@ -643,6 +643,19 @@ void wxSpinCtrl::DoGetSize(int *x, int *y) const *y = ctrlrect.bottom - ctrlrect.top; } +void wxSpinCtrl::DoGetClientSize(int *x, int *y) const +{ + RECT spinrect = wxGetClientRect(GetHwnd()); + RECT textrect = wxGetClientRect(GetBuddyHwnd()); + RECT ctrlrect; + UnionRect(&ctrlrect,&textrect, &spinrect); + + if ( x ) + *x = ctrlrect.right - ctrlrect.left; + if ( y ) + *y = ctrlrect.bottom - ctrlrect.top; +} + void wxSpinCtrl::DoGetPosition(int *x, int *y) const { // hack: pretend that our HWND is the text control just for a moment