X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ff066a4ecb73476fc67c7a2c8a8823e67add833..c10ae510189067379125802d4f7dcf2fed4d5b39:/src/msw/radiobox.cpp?ds=sidebyside diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp index 2fdcde5aef..58d056fa61 100644 --- a/src/msw/radiobox.cpp +++ b/src/msw/radiobox.cpp @@ -67,14 +67,14 @@ wxBEGIN_FLAGS( wxRadioBoxStyle ) wxFLAGS_MEMBER(wxDOUBLE_BORDER) wxFLAGS_MEMBER(wxRAISED_BORDER) wxFLAGS_MEMBER(wxSTATIC_BORDER) - wxFLAGS_MEMBER(wxNO_BORDER) + wxFLAGS_MEMBER(wxBORDER) // standard window styles wxFLAGS_MEMBER(wxTAB_TRAVERSAL) wxFLAGS_MEMBER(wxCLIP_CHILDREN) wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW) wxFLAGS_MEMBER(wxWANTS_CHARS) - wxFLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE) + wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE) wxFLAGS_MEMBER(wxALWAYS_SHOW_SB ) wxFLAGS_MEMBER(wxVSCROLL) wxFLAGS_MEMBER(wxHSCROLL) @@ -996,6 +996,25 @@ LRESULT APIENTRY _EXPORT wxRadioBtnWndProc(HWND hwnd, } break; + case WM_SETFOCUS: + case WM_KILLFOCUS: + { + wxRadioBox *radiobox = (wxRadioBox *) + ::GetWindowLong(hwnd, GWL_USERDATA); + + wxCHECK_MSG( radiobox, 0, wxT("radio button without radio box?") ); + + // if we don't do this, no focus events are generated for the + // radiobox and, besides, we need to notify the parent about + // the focus change, otherwise the focus handling logic in + // wxControlContainer doesn't work + if ( message == WM_SETFOCUS ) + radiobox->HandleSetFocus((WXHWND)wParam); + else + radiobox->HandleKillFocus((WXHWND)wParam); + } + break; + #ifdef __WIN32__ case WM_HELP: {