#if wxUSE_TREELISTCTRL
 
+#include "wx/compositewin.h"
 #include "wx/containr.h"
 #include "wx/headercol.h"
 #include "wx/itemid.h"
 // with wxDataViewCtrl directly but doing this makes your unportable to possible
 // future non-wxDataViewCtrl-based implementations of this class.
 
-class WXDLLIMPEXP_ADV wxTreeListCtrl : public wxNavigationEnabled<wxWindow>,
-                                       public wxWithImages
+class WXDLLIMPEXP_ADV wxTreeListCtrl
+    : public wxCompositeWindow< wxNavigationEnabled<wxWindow> >,
+      public wxWithImages
 {
 public:
     // Constructors and such
     // Common part of all ctors.
     void Init();
 
+    // Pure virtual method inherited from wxCompositeWindow.
+    virtual wxWindowList GetCompositeWindowParts() const;
+
     // Implementation of AppendColumn().
     int DoInsertColumn(const wxString& title,
                        int pos,     // May be -1 meaning "append".
 
         m_model->DecRef();
 }
 
+wxWindowList wxTreeListCtrl::GetCompositeWindowParts() const
+{
+    wxWindowList parts;
+    parts.push_back(m_view);
+    return parts;
+}
+
 // ----------------------------------------------------------------------------
 // Columns
 // ----------------------------------------------------------------------------