X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f3984afa302ddbbc5e8cdc87d901d891587c94b1..233387bdcbb1c4f31c54b0fe6b3f03e8d261cab1:/src/msw/radiobox.cpp diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp index f7800b103b..795df4f865 100644 --- a/src/msw/radiobox.cpp +++ b/src/msw/radiobox.cpp @@ -175,7 +175,7 @@ bool wxRadioBox::Create(wxWindow *parent, choices[i], styleBtn, 0, 0, 0, 0, // will be set in SetSize() - GetHwnd(), + GetHwndOf(parent), (HMENU)newId, wxGetInstance(), NULL); @@ -198,7 +198,7 @@ bool wxRadioBox::Create(wxWindow *parent, (void)::CreateWindow(_T("BUTTON"), wxEmptyString, WS_GROUP | BS_AUTORADIOBUTTON | WS_CHILD, - 0, 0, 0, 0, GetHwnd(), + 0, 0, 0, 0, GetHwndOf(parent), (HMENU)NewControlId(), wxGetInstance(), NULL); m_radioButtons->SetFont(GetFont()); @@ -387,7 +387,7 @@ bool wxRadioBox::Enable(int item, bool enable) bool wxRadioBox::IsItemEnabled(int item) const { wxCHECK_MSG( IsValid(item), false, - wxT("invalid item in wxRadioBox::Enable()") ); + wxT("invalid item in wxRadioBox::IsItemEnabled()") ); return ::IsWindowEnabled((*m_radioButtons)[item]) != 0; } @@ -412,7 +412,7 @@ bool wxRadioBox::Show(int item, bool show) bool wxRadioBox::IsItemShown(int item) const { wxCHECK_MSG( IsValid(item), false, - wxT("invalid item in wxRadioBox::Enable()") ); + wxT("invalid item in wxRadioBox::IsItemShown()") ); // don't use IsWindowVisible() here because it would return false if the // radiobox itself is hidden while we want to only return false if this @@ -478,7 +478,7 @@ wxSize wxRadioBox::GetTotalButtonSize(const wxSize& sizeBtn) const // and also wide enough for its label int widthLabel; - GetTextExtent(GetLabel(), &widthLabel, NULL); + GetTextExtent(wxStripMenuCodes(GetLabel()), &widthLabel, NULL); widthLabel += RADIO_SIZE; // FIXME this is bogus too if ( widthLabel > width ) width = widthLabel; @@ -509,8 +509,8 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags) if (y == wxDefaultCoord && !(sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) yy = currentY; - int y_offset = 0; - int x_offset = 0; + int y_offset = yy; + int x_offset = xx; int cx1, cy1; wxGetCharSize(m_hWnd, &cx1, &cy1, GetFont()); @@ -621,9 +621,7 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags) // the radiobox entirely and the radiobox tooltips are always shown // (otherwise they are not when the mouse pointer is in the radiobox // part not belonging to any radiobutton) - ::MoveWindow((*m_radioButtons)[i], - x_offset, y_offset, widthBtn, maxHeight, - TRUE); + DoMoveSibling((*m_radioButtons)[i], x_offset, y_offset, widthBtn, maxHeight); // where do we put the next button? if ( m_windowStyle & wxRA_SPECIFY_ROWS ) @@ -668,24 +666,6 @@ WXHRGN wxRadioBox::MSWGetRegionWithoutChildren() return (WXHRGN)hrgn; } -WXLRESULT -wxRadioBox::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) -{ - // FIXME: Without this, the radiobox corrupts other controls as it moves - // in a dynamic layout. Refreshing causes flicker, but it's better than - // leaving droppings. Note that for some reason, wxStaticBox doesn't need - // this (perhaps because it has no real children?) - if ( nMsg == WM_MOVE ) - { - WXLRESULT res = wxControl::MSWWindowProc(nMsg, wParam, lParam); - wxRect rect = GetRect(); - GetParent()->Refresh(true, & rect); - return res; - } - - return wxStaticBox::MSWWindowProc(nMsg, wParam, lParam); -} - #endif // __WXWINCE__ // ---------------------------------------------------------------------------