X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ef31e80ee0e9c597ffca0fd7a0eb9d018a2f51b..b5a7b0005781f24ab97ed3322530423b6d89fb67:/src/msw/treectrl.cpp diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index a470179ed7..d328e047c7 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -62,6 +62,16 @@ #define TVIS_FOCUSED 0x0001 #endif +#ifndef TV_FIRST + #define TV_FIRST 0x1100 +#endif + +// old headers might miss these messages (comctl32.dll 4.71+ only) +#ifndef TVM_SETBKCOLOR + #define TVM_SETBKCOLOR (TV_FIRST + 29) + #define TVM_SETTEXTCOLOR (TV_FIRST + 30) +#endif + // ---------------------------------------------------------------------------- // private classes // ---------------------------------------------------------------------------- @@ -139,6 +149,8 @@ public: return TRUE; } + size_t GetCount() const { return m_selections.GetCount(); } + private: wxArrayTreeItemIds& m_selections; }; @@ -484,6 +496,30 @@ size_t wxTreeCtrl::GetChildrenCount(const wxTreeItemId& item, return counter.GetCount() - 1; } +// ---------------------------------------------------------------------------- +// control colours +// ---------------------------------------------------------------------------- + +bool wxTreeCtrl::SetBackgroundColour(const wxColour &colour) +{ + if ( !wxWindowBase::SetBackgroundColour(colour) ) + return FALSE; + + SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0, colour.GetPixel()); + + return TRUE; +} + +bool wxTreeCtrl::SetForegroundColour(const wxColour &colour) +{ + if ( !wxWindowBase::SetForegroundColour(colour) ) + return FALSE; + + SendMessage(GetHwnd(), TVM_SETTEXTCOLOR, 0, colour.GetPixel()); + + return TRUE; +} + // ---------------------------------------------------------------------------- // Item access // ---------------------------------------------------------------------------- @@ -944,7 +980,7 @@ size_t wxTreeCtrl::GetSelections(wxArrayTreeItemIds& selections) const { TraverseSelections selector(this, selections); - return selections.GetCount(); + return selector.GetCount(); } // ----------------------------------------------------------------------------