- wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId);
- event.SetInt(GetValue());
- event.SetEventObject(this);
- ProcessCommand(event);
- return TRUE;
+ wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId);
+ event.SetInt(GetValue());
+ event.SetEventObject(this);
+ ProcessCommand(event);
+ return TRUE;
- SetName(name);
- SetValidator(validator);
- if (parent) parent->AddChild(this);
-
- SetBackgroundColour(parent->GetBackgroundColour()) ;
- SetForegroundColour(parent->GetForegroundColour()) ;
-
- m_windowStyle = style;
-
- wxString Label = label;
- if (Label == _T(""))
- Label = _T(" "); // Apparently needed or checkbox won't show
-
- if ( id == -1 )
- m_windowId = NewControlId();
- else
- m_windowId = id;
-
- int x = pos.x;
- int y = pos.y;
- int width = size.x;
- int height = size.y;
-
- long msStyle = BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_VISIBLE;
- if ( style & wxALIGN_RIGHT )
- msStyle |= BS_LEFTTEXT;
-
- // We perhaps have different concepts of 3D here - a 3D border,
- // versus a 3D button.
- // So we only wish to give a border if this is specified
- // in the style.
- bool want3D;
- WXDWORD exStyle = Determine3DEffects(0, &want3D) ;
-
- // Even with extended styles, need to combine with WS_BORDER
- // for them to look right.
-/*
- if ( want3D || wxStyleHasBorder(m_windowStyle) )
- msStyle |= WS_BORDER;
-*/
-
- m_hWnd = (WXHWND)CreateWindowEx(exStyle, _T("BUTTON"), Label,
- msStyle,
- 0, 0, 0, 0,
- (HWND)parent->GetHWND(), (HMENU)m_windowId,
- wxGetInstance(), NULL);
+ SetName(name);
+ SetValidator(validator);
+ if (parent) parent->AddChild(this);
+
+ SetBackgroundColour(parent->GetBackgroundColour()) ;
+ SetForegroundColour(parent->GetForegroundColour()) ;
+
+ m_windowStyle = style;
+
+ wxString Label = label;
+ if (Label == _T(""))
+ Label = _T(" "); // Apparently needed or checkbox won't show
+
+ if ( id == -1 )
+ m_windowId = NewControlId();
+ else
+ m_windowId = id;
+
+ int x = pos.x;
+ int y = pos.y;
+ int width = size.x;
+ int height = size.y;
+
+ long msStyle = BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_VISIBLE;
+ if ( style & wxALIGN_RIGHT )
+ msStyle |= BS_LEFTTEXT;
+
+ // We perhaps have different concepts of 3D here - a 3D border,
+ // versus a 3D button.
+ // So we only wish to give a border if this is specified
+ // in the style.
+ bool want3D;
+ WXDWORD exStyle = Determine3DEffects(0, &want3D) ;
+
+ // Even with extended styles, need to combine with WS_BORDER
+ // for them to look right.
+ /*
+ if ( want3D || wxStyleHasBorder(m_windowStyle) )
+ msStyle |= WS_BORDER;
+ */
+
+ m_hWnd = (WXHWND)CreateWindowEx(exStyle, _T("BUTTON"), Label,
+ msStyle,
+ 0, 0, 0, 0,
+ (HWND)parent->GetHWND(), (HMENU)m_windowId,
+ wxGetInstance(), NULL);
- int currentX, currentY;
- GetPosition(¤tX, ¤tY);
- int x1 = x;
- int y1 = y;
- int w1 = width;
- int h1 = height;
-
- if (x == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
- x1 = currentX;
- if (y == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
- y1 = currentY;
-
- AdjustForParentClientOrigin(x1, y1, sizeFlags);
+ int wCheckbox, hCheckbox;
- if ( !str.IsEmpty() )
- {
- GetTextExtent(str, ¤t_width, &cyf, NULL, NULL, & this->GetFont());
- if (w1 < 0)
- w1 = (int)(current_width + RADIO_SIZE);
- if (h1 < 0)
+ if ( hCheckbox < RADIO_SIZE )
+ hCheckbox = RADIO_SIZE;
+ }
+ else
bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *label,
const wxPoint& pos,
const wxSize& size, long style,
bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *label,
const wxPoint& pos,
const wxSize& size, long style,
SetSize(x, y, width, height);
ShowWindow(wx_button, SW_SHOW);
SetSize(x, y, width, height);
ShowWindow(wx_button, SW_SHOW);
-
-void wxBitmapCheckBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
-{
- int currentX, currentY;
- GetPosition(¤tX, ¤tY);
-
- int x1 = x;
- int y1 = y;
- int w1 = width;
- int h1 = height;
-
- if (x == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
- x1 = currentX;
- if (y == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
- y1 = currentY;
-
- AdjustForParentClientOrigin(x1, y1, sizeFlags);
-
- HWND button = (HWND) GetHWND();
-/*
- if (w1<0)
- w1 = checkWidth + FB_MARGIN ;
- if (h1<0)
- h1 = checkHeight + FB_MARGIN ;
-*/
- MoveWindow(button, x1, y1, w1, h1, TRUE);
-}
-
-void wxBitmapCheckBox::SetValue(bool val)
-{
- SendMessage((HWND) GetHWND(), BM_SETCHECK, val, 0);
-}
-
-bool wxBitmapCheckBox::GetValue() const
-{
- return ((0x003 & SendMessage((HWND) GetHWND(), BM_GETCHECK, 0, 0)) == 0x003);
-}
-
-