X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ee21e3a3dd028502ef81f832a24a049a0734f2b..46965705ca33de8365969ff85f26a9f5a7271309:/src/msw/radiobox.cpp diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp index de869045c1..70665bdf84 100644 --- a/src/msw/radiobox.cpp +++ b/src/msw/radiobox.cpp @@ -81,7 +81,7 @@ wxEND_FLAGS( wxRadioBoxStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxRadioBox, wxControl,"wx/radiobox.h") wxBEGIN_PROPERTIES_TABLE(wxRadioBox) - wxEVENT_PROPERTY( Select , wxEVT_COMMAND_RADIOBOX_SELECTED , wxCommandEvent ) + wxEVENT_PROPERTY( Select , wxEVT_RADIOBOX , wxCommandEvent ) wxPROPERTY_FLAGS( WindowStyle , wxRadioBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style wxEND_PROPERTIES_TABLE() @@ -203,7 +203,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowIDRef subid = NewControlId(); HWND hwndBtn = ::CreateWindow(wxT("BUTTON"), - choices[i].wx_str(), + choices[i].t_str(), styleBtn, 0, 0, 0, 0, // will be set in SetSize() GetHwndOf(parent), @@ -252,6 +252,10 @@ bool wxRadioBox::Create(wxWindow *parent, // Now that we have items determine what is the best size and set it. SetInitialSize(size); + // And update all the buttons positions to match it. + const wxSize actualSize = GetSize(); + PositionAllButtons(pos.x, pos.y, actualSize.x, actualSize.y); + return true; } @@ -373,7 +377,7 @@ void wxRadioBox::Command(wxCommandEvent & event) void wxRadioBox::SendNotificationEvent() { - wxCommandEvent event(wxEVT_COMMAND_RADIOBOX_SELECTED, m_windowId); + wxCommandEvent event(wxEVT_RADIOBOX, m_windowId); event.SetInt( m_selectedButton ); event.SetString(GetString(m_selectedButton)); event.SetEventObject( this ); @@ -494,7 +498,7 @@ void wxRadioBox::DoSetItemToolTip(unsigned int item, wxToolTip *tooltip) // we have already checked for the item to be valid in wxRadioBoxBase const HWND hwndRbtn = (*m_radioButtons)[item]; if ( tooltip != NULL ) - tooltip->Add(hwndRbtn); + tooltip->AddOtherWindow(hwndRbtn); else // unset the tooltip wxToolTip::Remove(hwndRbtn, 0, wxRect(0,0,0,0)); // the second parameter can be zero since it's ignored by Remove() @@ -625,6 +629,12 @@ void wxRadioBox::DoMoveWindow(int x, int y, int width, int height) { wxStaticBox::DoMoveWindow(x, y, width, height); + PositionAllButtons(x, y, width, height); +} + +void +wxRadioBox::PositionAllButtons(int x, int y, int width, int WXUNUSED(height)) +{ wxSize maxSize = GetMaxButtonSize(); int maxWidth = maxSize.x, maxHeight = maxSize.y;