]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/radiobut.cpp
Compilation fix for !wxUSE_OWNER_DRAWN.
[wxWidgets.git] / src / msw / radiobut.cpp
index bc0fa69092f0a28005eaf5b9ff6c7223aa73cd8f..17323a9c1f28ee3d5b9afaa5c0477ec1d84cebb7 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     04/01/98
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -61,25 +60,10 @@ bool wxRadioButton::Create(wxWindow *parent,
     if ( !CreateControl(parent, id, pos, size, style, validator, name) )
         return false;
 
-    long msStyle = WS_TABSTOP;
-    if ( HasFlag(wxRB_GROUP) )
-        msStyle |= WS_GROUP;
+    WXDWORD exstyle = 0;
+    WXDWORD msStyle = MSWGetStyle(style, &exstyle);
 
-    // we use BS_RADIOBUTTON and not BS_AUTORADIOBUTTON because the use of the
-    // latter can easily result in the application entering an infinite loop
-    // inside IsDialogMessage()
-    //
-    // we used to use BS_RADIOBUTTON only for wxRB_SINGLE buttons but there
-    // doesn't seem to be any harm to always use it and it prevents some hangs,
-    // see #9786
-    msStyle |= BS_RADIOBUTTON;
-
-    if ( HasFlag(wxCLIP_SIBLINGS) )
-        msStyle |= WS_CLIPSIBLINGS;
-    if ( HasFlag(wxALIGN_RIGHT) )
-        msStyle |= BS_LEFTTEXT | BS_RIGHT;
-
-    if ( !MSWCreateControl(wxT("BUTTON"), msStyle, pos, size, label, 0) )
+    if ( !MSWCreateControl(wxT("BUTTON"), msStyle, pos, size, label, exstyle) )
         return false;
 
     // for compatibility with wxGTK, the first radio button in a group is
@@ -232,7 +216,7 @@ bool wxRadioButton::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
         // and not BS_AUTORADIOBUTTON
         SetValue(true);
 
-        wxCommandEvent event(wxEVT_COMMAND_RADIOBUTTON_SELECTED, GetId());
+        wxCommandEvent event(wxEVT_RADIOBUTTON, GetId());
         event.SetEventObject( this );
         event.SetInt(true); // always checked
 
@@ -289,12 +273,27 @@ wxSize wxRadioButton::DoGetBestSize() const
 
 WXDWORD wxRadioButton::MSWGetStyle(long style, WXDWORD *exstyle) const
 {
-    WXDWORD styleMSW = wxControl::MSWGetStyle(style, exstyle);
+    WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
+
+    if ( HasFlag(wxRB_GROUP) )
+        msStyle |= WS_GROUP;
+
+    // we use BS_RADIOBUTTON and not BS_AUTORADIOBUTTON because the use of the
+    // latter can easily result in the application entering an infinite loop
+    // inside IsDialogMessage()
+    //
+    // we used to use BS_RADIOBUTTON only for wxRB_SINGLE buttons but there
+    // doesn't seem to be any harm to always use it and it prevents some hangs,
+    // see #9786
+    msStyle |= BS_RADIOBUTTON;
+
+    if ( style & wxCLIP_SIBLINGS )
+        msStyle |= WS_CLIPSIBLINGS;
+    if ( style & wxALIGN_RIGHT )
+        msStyle |= BS_LEFTTEXT | BS_RIGHT;
 
-    if ( style & wxRB_GROUP )
-        styleMSW |= WS_GROUP;
 
-    return styleMSW;
+    return msStyle;
 }
 
 #endif // wxUSE_RADIOBTN