]> git.saurik.com Git - wxWidgets.git/commitdiff
Make radiobuttons siblings instead of children in radioboxes again and remove refresh...
authorJamie Gadd <jrgadd2@cs.latrobe.edu.au>
Mon, 2 Jan 2006 11:03:28 +0000 (11:03 +0000)
committerJamie Gadd <jrgadd2@cs.latrobe.edu.au>
Mon, 2 Jan 2006 11:03:28 +0000 (11:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/radiobox.h
src/msw/radiobox.cpp

index f7b902f61952577af0d0dd4cc1cb75c7b724e773..9470e308cb8cb06030ea814b85cb7459c730b88f 100644 (file)
@@ -138,9 +138,6 @@ protected:
 
 #ifndef __WXWINCE__
     virtual WXHRGN MSWGetRegionWithoutChildren();
-    virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
-                                    WXWPARAM wParam,
-                                    WXLPARAM lParam);
 #endif // __WXWINCE__
 
 
index ceb87c924b4c2ed5b24d951dc9fc914ca2a7c2f0..0fba4670c06ff6c1d9d1d987d5ff0dc938074277 100644 (file)
@@ -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());
@@ -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__
 
 // ---------------------------------------------------------------------------