X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/788722ac5ca55bd3c0d1f9bd2d598f90b3b02071..77ffb5937e89927b621128789401db8921fe580f:/src/msw/tglbtn.cpp diff --git a/src/msw/tglbtn.cpp b/src/msw/tglbtn.cpp index f428a631fe..072604992c 100644 --- a/src/msw/tglbtn.cpp +++ b/src/msw/tglbtn.cpp @@ -2,7 +2,8 @@ // Name: src/msw/tglbtn.cpp // Purpose: Definition of the wxToggleButton class, which implements a // toggle button under wxMSW. -// Author: John Norris, minor changes by Axel Schlueter +// Author: John Norris, minor changes by Axel Schlueter +// and William Gallafent. // Modified by: // Created: 08.02.01 // RCS-ID: $Id$ @@ -73,52 +74,40 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id, const wxValidator& validator, const wxString& name) { - if (!CreateBase(parent, id, pos, size, style, validator, name)) + if ( !CreateControl(parent, id, pos, size, style, validator, name) ) + return FALSE; + + if ( !MSWCreateControl(wxT("BUTTON"), label, pos, size) ) return FALSE; + + return TRUE; +} - parent->AddChild(this); +wxBorder wxToggleButton::GetDefaultBorder() const +{ + return wxBORDER_NONE; +} - m_backgroundColour = parent->GetBackgroundColour(); - m_foregroundColour = parent->GetForegroundColour(); +WXDWORD wxToggleButton::MSWGetStyle(long style, WXDWORD *exstyle) const +{ + WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle); #ifndef BS_PUSHLIKE #define BS_PUSHLIKE 0x00001000L #endif - long msStyle = BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP | WS_CHILD | WS_VISIBLE; -#ifdef __WIN32__ - if(m_windowStyle & wxBU_LEFT) + msStyle |= BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP; + + if(style & wxBU_LEFT) msStyle |= BS_LEFT; - if(m_windowStyle & wxBU_RIGHT) + if(style & wxBU_RIGHT) msStyle |= BS_RIGHT; - if(m_windowStyle & wxBU_TOP) + if(style & wxBU_TOP) msStyle |= BS_TOP; - if(m_windowStyle & wxBU_BOTTOM) + if(style & wxBU_BOTTOM) msStyle |= BS_BOTTOM; -#endif - m_hWnd = (WXHWND)CreateWindowEx(MakeExtendedStyle(m_windowStyle), - wxT("BUTTON"), label, - msStyle, 0, 0, 0, 0, - (HWND)parent->GetHWND(), - (HMENU)m_windowId, - wxGetInstance(), NULL); - - if ( m_hWnd == 0 ) - { - wxLogError(_T("Failed to create a toggle button")); - - return FALSE; - } - - // Subclass again for purposes of dialog editing mode - SubclassWin(m_hWnd); - - SetFont(parent->GetFont()); - - SetSize(pos.x, pos.y, size.x, size.y); - - return TRUE; + return msStyle; } void wxToggleButton::SetLabel(const wxString& label)