X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..2c18f21dc7d5aedd7100b02f7a721551b73c537b:/src/msw/radiobut.cpp?ds=sidebyside diff --git a/src/msw/radiobut.cpp b/src/msw/radiobut.cpp index 6a10d9168d..c4453ac9ac 100644 --- a/src/msw/radiobut.cpp +++ b/src/msw/radiobut.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: radiobut.cpp +// Name: msw/radiobut.cpp // Purpose: wxRadioButton // Author: Julian Smart // Modified by: @@ -10,22 +10,22 @@ ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ -#pragma implementation "radiobut.h" + #pragma implementation "radiobut.h" #endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_RADIOBTN + #ifndef WX_PRECOMP -#include -#include "wx/setup.h" -#include "wx/radiobut.h" -#include "wx/settings.h" -#include "wx/brush.h" + #include "wx/radiobut.h" + #include "wx/settings.h" + #include "wx/brush.h" #endif #include "wx/msw/private.h" @@ -33,12 +33,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) // IMPLEMENT_DYNAMIC_CLASS(wxBitmapRadioButton, wxRadioButton) -bool wxRadioButton::MSWCommand(WXUINT param, WXWORD id) +bool wxRadioButton::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) { if (param == BN_CLICKED) { wxCommandEvent event(wxEVT_COMMAND_RADIOBUTTON_SELECTED, m_windowId); event.SetEventObject( this ); + event.SetInt( GetValue() ); ProcessCommand(event); return TRUE; } @@ -81,6 +82,10 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id, // long msStyle = groupStyle | RADIO_FLAGS; long msStyle = groupStyle | BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE /* | WS_CLIPSIBLINGS */; + if ( m_windowStyle & wxCLIP_SIBLINGS ) + msStyle |= WS_CLIPSIBLINGS; + + bool want3D; WXDWORD exStyle = Determine3DEffects(0, &want3D) ; @@ -137,6 +142,13 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id, SetSize(x, y, width, height); + // for compatibility with wxGTK, the first radio button in a group is + // always checked (this makes sense anyhow as you need to ensure that at + // least one button in the group is checked and this is the simlpest way to + // do it) + if ( m_windowStyle & wxRB_GROUP ) + SetValue(TRUE); + return TRUE; } @@ -164,10 +176,17 @@ void wxRadioButton::Command (wxCommandEvent & event) ProcessCommand (event); } -WXHBRUSH wxRadioButton::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor, +WXHBRUSH wxRadioButton::OnCtlColor(WXHDC pDC, WXHWND WXUNUSED(pWnd), WXUINT WXUNUSED(nCtlColor), +#if wxUSE_CTL3D WXUINT message, WXWPARAM wParam, - WXLPARAM lParam) + WXLPARAM lParam +#else + WXUINT WXUNUSED(message), + WXWPARAM WXUNUSED(wParam), + WXLPARAM WXUNUSED(lParam) +#endif + ) { #if wxUSE_CTL3D if ( m_useCtl3D ) @@ -269,3 +288,5 @@ bool wxBitmapRadioButton::GetValue(void) const } #endif + +#endif // wxUSE_RADIOBTN