setting foreground colour for wxCheckBox now works when using XP themes too

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-05-18 23:16:46 +00:00
parent 0f9aa21f2c
commit 2f25981069
3 changed files with 394 additions and 22 deletions

View File

@@ -45,16 +45,44 @@ public:
virtual void SetValue(bool value);
virtual bool GetValue() const;
// override some base class virtuals
virtual bool MSWCommand(WXUINT param, WXWORD id);
virtual void Command(wxCommandEvent& event);
virtual bool SetForegroundColour(const wxColour& colour);
protected:
virtual wxSize DoGetBestSize() const;
virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
virtual void DoSet3StateValue(wxCheckBoxState value);
virtual wxCheckBoxState DoGet3StateValue() const;
// make the checkbox owner drawn or reset it to normal style
void MakeOwnerDrawn(bool ownerDrawn);
// return true if this checkbox is owner drawn
bool IsOwnerDrawn() const;
private:
// common part of all ctors
void Init();
// event handlers used by owner-drawn checkbox
void OnMouseEnterOrLeave(wxMouseEvent& event);
void OnMouseLeft(wxMouseEvent& event);
void OnFocus(wxFocusEvent& event);
// current state of the checkbox
wxCheckBoxState m_state;
// true if the checkbox is currently pressed
bool m_isPressed;
// true if mouse is currently over the control
bool m_isHot;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxCheckBox)
};