Click here to Skip to main content
11,717,570 members (81,844 online)
Click here to Skip to main content

A Tree List Control

, 19 Sep 2002 563.4K 18K 160
Rate this:
Please Sign up or sign in to vote.
A Tree List Control
<!-- Add the rest of your HTML here -->


This is a class derived from CWnd class. It's a tree control with a list.


Below are some of the many features that CTreeListCtrl has:

  • Compatible with CTreeCtrl & CListCtrl
  • Header drag & drop
  • Drag & drop between CTreeListCtrl
  • Transparent drag window with Alpha blend
  • Double colors of list
  • Background image
  • Check box support
  • Lock box support
  • Embedded modified controls
  • No more in future

Snapshot 1

Snapshot 2

How to use it

Add this string into stdafx.h
#include "..\\TurboDLL\\xTurboDll.h"

Define your controls

class CMyTreeListCtrl : public CTreeListCtrl  
  virtual ~CMyTreeListCtrl();

  afx_msg void OnExpanding(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnExpanded(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnUpdating(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnUpdated(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnBeginDrag(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnDragEnter(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnDragLeave(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnDragOver(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg void OnDrop(NMHDR* pNMHDR, LRESULT* pResult);


Use your controls

class CTurboDragDlg : public CDialog
// Construction
  CTurboDragDlg(CWnd* pParent = NULL);   // standard constructor
  CImageList  m_ImageList;
  CMyTreeListCtrl  m_tree1;
  CMyTreeListCtrl m_tree2;

  // TODO: Add extra initialization here
  m_ImageList.Create( IDB_BITMAP_TREE, 16, 4, 0xFF00FF );

  CRect rect;
  rect.DeflateRect( 5, 5, 5, 5 );

  CRect left;
  left = rect;
  left.right = ( rect.left + rect.right ) / 2;

  CRect right;
  right = rect;
  right.left = ( rect.left + rect.right ) / 2;

  m_tree1.Create( 0x50810000, left, this, 0 );
  m_tree2.Create( 0x50810000, right, this, 1 );

        // Add other initialize code here
        return TRUE;  // return TRUE unless you set the focus to a control
  // EXCEPTION: OCX Property Pages should return FALSE

Then use it freely.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Web Developer
China China
He is a Visual C++ developer, MCSE
He has been programming in C/C++ for 7 years, Visual C++ with MFC for 5 years and RDBMS: Oracle, MS SQL for 5 years

You may also be interested in...

Comments and Discussions

GeneralMy vote of 5 Pin
Member 94178231-Sep-14 23:48
memberMember 94178231-Sep-14 23:48 
QuestionDragging problem.... Pin
임건택27-Jun-14 16:37
member임건택27-Jun-14 16:37 
GeneralMy vote of 5 Pin
mxs8109-Aug-13 18:30
membermxs8109-Aug-13 18:30 
QuestionHow to convert the project to "Use MFC in a Static Library"? Pin
thelastphoenix24-Oct-11 23:45
memberthelastphoenix24-Oct-11 23:45 
GeneralMy vote of 5 Pin
Member 75250315-Sep-11 23:56
memberMember 75250315-Sep-11 23:56 
GeneralUnable to Edit the columns. Pin
Mahadev HK4-May-11 15:41
memberMahadev HK4-May-11 15:41 
GeneralRe: Unable to Edit the columns. Pin
Modal sun20-Sep-11 15:30
memberModal sun20-Sep-11 15:30 
GeneralRe: Unable to Edit the columns. Pin
thelastphoenix16-Nov-11 15:42
memberthelastphoenix16-Nov-11 15:42 
GeneralTuroboDll behaviour in Windows Vista or Windows 7 Pin
Member 115045326-Oct-10 22:38
memberMember 115045326-Oct-10 22:38 
Questionhow to add combobox items Pin
Sakhalean3-Aug-10 21:34
memberSakhalean3-Aug-10 21:34 
AnswerRe: how to add combobox items Pin
Member 115045326-Oct-10 22:54
memberMember 115045326-Oct-10 22:54 
GeneralRe: how to add combobox items Pin
Sakhalean27-Oct-10 17:42
memberSakhalean27-Oct-10 17:42 
GeneralRe: how to add combobox items Pin
dd_dzs10-Apr-11 22:05
memberdd_dzs10-Apr-11 22:05 
QuestionThe tree list control Pin
YeMeGe20-May-10 11:24
memberYeMeGe20-May-10 11:24 
QuestionHow to solve Bug using ComboBox Pin
uara8229-Oct-09 16:41
memberuara8229-Oct-09 16:41 
General"A required resource was unavailable" Pin
Naryoril1-Sep-09 1:19
memberNaryoril1-Sep-09 1:19 
Generalfind a bug Pin
7817537914-May-09 21:24
member7817537914-May-09 21:24 
GeneralMultiline text inNode Pin
jatin dave20-Jan-09 21:48
memberjatin dave20-Jan-09 21:48 
GeneralCrash in CancelControl() on 64 bit platforms. Pin
Member 431310519-Dec-08 2:15
memberMember 431310519-Dec-08 2:15 
QuestionCrash in CancelModify - after ESCAPE key Pin
Member 115045312-Nov-08 23:30
memberMember 115045312-Nov-08 23:30 
GeneralFind a text and highlight Pin
mohadeb14-Oct-08 3:22
membermohadeb14-Oct-08 3:22 
Question跪求,老大这个怎么编译Release版本? Pin
tuhaitao9-Jun-08 19:07
membertuhaitao9-Jun-08 19:07 
AnswerRe: 跪求,老大这个怎么编译Release版本? Pin
cnZhangcm26-Mar-09 22:21
membercnZhangcm26-Mar-09 22:21 
GeneralRe: 跪求,老大这个怎么编译Release版本? Pin
spaceknight7-Jul-09 17:43
memberspaceknight7-Jul-09 17:43 
GeneralRe: 跪求,老大这个怎么编译Release版本? Pin
maicoye22-Jul-09 21:59
membermaicoye22-Jul-09 21:59 
QuestionCrashed when I Expand All the Items in Release Version Pin
mconstor27-Apr-08 19:36
membermconstor27-Apr-08 19:36 
AnswerRe: Crashed when I Expand All the Items in Release Version Pin
mconstor31-May-08 18:26
membermconstor31-May-08 18:26 
Generaltotally useles code for existing control Pin
kilt26-Apr-08 5:00
memberkilt26-Apr-08 5:00 
GeneralRe: totally useles code for existing control Pin
Kochise1-Oct-08 6:51
memberKochise1-Oct-08 6:51 
Questionthe Combobox control cannot be dropdown when use together with TreeListCtrl in a same dialogbox [modified] Pin
doublestone8-Apr-08 2:51
memberdoublestone8-Apr-08 2:51 
QuestionCan we use the code freely? Pin
Member 461932710-Dec-07 14:12
memberMember 461932710-Dec-07 14:12 
QuestionCan you not show expansion boxes on leaf items? Pin
Steve_Harris14-Nov-07 23:45
memberSteve_Harris14-Nov-07 23:45 
AnswerRe: Can you not show expansion boxes on leaf items? Pin
ahrdmy harmy8-Mar-09 20:52
memberahrdmy harmy8-Mar-09 20:52 
QuestionHow to include TurboDLL staticaly into a project [modified] Pin
Kochise9-May-07 21:16
memberKochise9-May-07 21:16 
AnswerRe: How to include TurboDLL staticaly into a project Pin
net_id1-Jan-09 19:58
membernet_id1-Jan-09 19:58 
Generalin-list editing of subitem Pin
Mike Eriksson12-Apr-07 23:49
memberMike Eriksson12-Apr-07 23:49 
GeneralRe: in-list editing of subitem Pin
Mike Eriksson13-Apr-07 21:53
memberMike Eriksson13-Apr-07 21:53 
GeneralRe: in-list editing of subitem Pin
Mr.SeYeu6-Jul-08 16:11
memberMr.SeYeu6-Jul-08 16:11 
QuestionSorting? Pin
LittleIan3-Apr-07 1:02
memberLittleIan3-Apr-07 1:02 
QuestionSortChildren Pin
Jordan Walters2-Apr-07 12:24
memberJordan Walters2-Apr-07 12:24 
GeneralCan't include in my .NET 2003 project!! Pin
Khanafer24-Nov-06 6:20
memberKhanafer24-Nov-06 6:20 
QuestionHow to implementation Print list item? Pin
tangversion15-Oct-06 20:33
membertangversion15-Oct-06 20:33 
Generali can't add it in control(VB code) Pin
Phan Thanh Lam8-Oct-06 17:56
memberPhan Thanh Lam8-Oct-06 17:56 
GeneralRe: i can't add it in control(VB code) Pin
Christian Graus8-Oct-06 19:05
staffChristian Graus8-Oct-06 19:05 
QuestionSet color in subitems Pin
catia_wapf3-Aug-06 2:20
membercatia_wapf3-Aug-06 2:20 
AnswerRe: Set color in subitems Pin
tangversion15-Oct-06 20:29
membertangversion15-Oct-06 20:29 
GeneralCan´t delete columns... Pin
vertex_x17-Apr-06 1:44
membervertex_x17-Apr-06 1:44 
QuestionHow to print? Pin
tangversion27-Mar-06 19:05
membertangversion27-Mar-06 19:05 
GeneralLot of Flicker when Resizing Pin
Bagul Buva8-Mar-06 11:58
memberBagul Buva8-Mar-06 11:58 
QuestionFind a bug when moving colums Pin
ochoteau7-Dec-05 23:59
memberochoteau7-Dec-05 23:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150901.1 | Last Updated 20 Sep 2002
Article Copyright 2002 by TigerX
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid