]> git.saurik.com Git - wxWidgets.git/commitdiff
backported fix for proper tree ctrl refershing after changing item colour/font from 2.2
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 22 Jul 2001 01:28:18 +0000 (01:28 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 22 Jul 2001 01:28:18 +0000 (01:28 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/treectrl.cpp

index 18b888bb9b3d845212a004d3b14b128dfa14c684..5d48e4c93815db5107e3f9da8a64baeba25f5aad 100644 (file)
@@ -1046,6 +1046,7 @@ void wxTreeCtrl::SetItemTextColour(const wxTreeItemId& item,
     }
 
     attr->SetTextColour(col);
+    Refresh();
 }
 
 void wxTreeCtrl::SetItemBackgroundColour(const wxTreeItemId& item,
@@ -1062,6 +1063,7 @@ void wxTreeCtrl::SetItemBackgroundColour(const wxTreeItemId& item,
     }
 
     attr->SetBackgroundColour(col);
+    Refresh();
 }
 
 void wxTreeCtrl::SetItemFont(const wxTreeItemId& item, const wxFont& font)
@@ -1077,6 +1079,7 @@ void wxTreeCtrl::SetItemFont(const wxTreeItemId& item, const wxFont& font)
     }
 
     attr->SetFont(font);
+    Refresh();
 }
 
 // ----------------------------------------------------------------------------
@@ -2143,14 +2146,14 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
             {
                 LPNMTVCUSTOMDRAW lptvcd = (LPNMTVCUSTOMDRAW)lParam;
                 NMCUSTOMDRAW& nmcd = lptvcd->nmcd;
-                switch( nmcd.dwDrawStage )
+                switch ( nmcd.dwDrawStage )
                 {
                     case CDDS_PREPAINT:
                         // if we've got any items with non standard attributes,
                         // notify us before painting each item
                         *result = m_hasAnyAttr ? CDRF_NOTIFYITEMDRAW
                                                : CDRF_DODEFAULT;
-                        return TRUE;
+                        break;
 
                     case CDDS_ITEMPREPAINT:
                         {
@@ -2160,7 +2163,8 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
                             if ( !attr )
                             {
                                 // nothing to do for this item
-                                return CDRF_DODEFAULT;
+                                *result = CDRF_DODEFAULT;
+                                break;
                             }
 
                             HFONT hFont;
@@ -2223,16 +2227,16 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
                             {
                                 *result = CDRF_DODEFAULT;
                             }
-
-                            return TRUE;
                         }
+                        break;
 
                     default:
                         *result = CDRF_DODEFAULT;
-                        return TRUE;
                 }
             }
-//            break;  // can never be reached
+
+            // we always process it
+            return TRUE;
 #endif // _WIN32_IE >= 0x300
 
         case NM_DBLCLK: