Tree List Control
Posted
by Anton Zechner
on February 15th, 2007
The accompanying code is an implementation of a tree view, combined with a list view, for the Windows API. The view is compatible to the tree control of the common controls. It allows the user to set colors, text, and icons for each item separately. An MFC class for the view is also implemented.
Features
- The window messages are compatible with the tree control of the common controls.
- Alternating colors are provided for each line.
- The color, style, and icon could be set for each item separately.
- An MFC class is also implemented (CTreeCtrl is the base class).
- An index access is implemented so that you can get the item of a line.
The main source code is in the TreeListWnd.cpp file. The MFC class is in the TreeListCtrl.cpp file.
This demo was written by Anton Zechner.

Comments
Column width does not update
Posted by Egon Broquist on 12/17/2012 04:57amTrying to change the column width and the column format but it does not work. SetColumnWidth(1,100); // No change col.mask = LVCF_TEXT | LVCF_FMT | LVCF_WIDTH; col.pszText = _T("Test"); col.fmt = LVCFMT_RIGHT; col.cx = 100; SetColumn(1,&col) // No change
-
ReplyWhich version did you use
Posted by AZ on 02/27/2013 08:11amHave you used the newest version (1.94) from my homepage: http://members.inode.at/anton.zechner/az/TreeList.en.htm ?
-
ReplyUpdated to latest version 1.94
Posted by Egon Broquist on 04/30/2013 06:05amBut same problem. SetColumn(n,&col) does not change the header text or alignment.
ReplyATL modification
Posted by Sergey Kozlov on 04/25/2012 03:25amCould you make the same using ATL?
-
Replyhuman
Posted by Anton Zechner on 08/30/2012 12:57pmSorry, i am not interrested on ATL, aund i have no time for this
Replyhelp..
Posted by ykc7859 on 04/24/2009 01:38amHow to hide listheader?
-
ReplyLook on my homepage
Posted by xyz007 on 05/22/2009 09:08amHi, you find the actual sources of the control on my homepage http://members.inode.at/anton.zechner/az/TreeList.en.htm Use the extended style TVS_EX_HIDEHEADERS. (see at CTreeListCtrl.chm "Extended Styles")
ReplyNew bug
Posted by haoziqi on 12/24/2008 09:37amAn error occurs when using function InsertItem insert a item after an existing item.
-
ReplyUse the actual source code
Posted by xyz007 on 01/04/2009 10:42amPlease use the actual on my homepage: http://members.inode.at/anton.zechner/az/TreeList.en.htm
ReplyBug in Vista
Posted by googlejaps on 12/16/2008 06:41amWhen using the treelist (version from http://members.inode.at /anton.zechner/az/TreeList.htm) the list doesn't update well in Vista. When I collapse and then expand the items in the tree, the text in the 2nd and 3rd columns are not updated right. See the screenshot at: http://jvmeerman.googlepages.com/TreeViewBug.jpg. The right screen shows the tree as it should look like. The left screen shows the tree after collapsing and expanding. I've tested this in XP and in Vista. In XP it works fine, in Vista this problem occurrs. On resize the tree is refreshed and it shows correct again.
-
ReplyReply
Posted by xyz007 on 01/04/2009 10:45amI have posted a new version on my homepage. In this version i can't reproduce this problem on vista. http://members.inode.at/anton.zechner/az/TreeList.en.htm
Replysome modify
Posted by shixopen on 08/18/2008 04:54ammy english is very poor.. cry...
-
-
Reply
ReplyThanks
Posted by xyz007 on 09/01/2008 02:45pmThanks for the hints. I will post it on my homepage.
Replysome modify
Posted by shixopen on 08/18/2008 05:11amCan I use this code in an internal project
Posted by anuruddha_g on 01/01/2008 11:46pmHi, I was looking for a tree list control to be used in a support tool, which is being used inside my organization. Can I use the source files for my purporse? In a previous comment I found that if one is using this code, the application should be published as well. Does the same apply for my situation? (The tool I intend to use this treelist concentrates highly on software developing practices within the company and I dont see any use of this tool outside the organization even if published.) Thanks
-
ReplyIn none commecial programms
Posted by xyz007 on 02/05/2008 07:20amHi You can use it, if you don't sell your programm. In the ohter case you must publish the source of your program. Note: The newes sources are on my homepage. I have fixed some bugs, and new features are implemented. http://members.inode.at/anton.zechner/az/TreeList.htm
ReplyBugs
Posted by pyabo on 06/19/2007 06:03pmHello, I found 2 bugs: - In TreeListInsertItem when you look to find a new handle for the item you do: for(;;uPos++) { if(uPos>pData->uTreeItemsMax)uPos=1; if(pItems[uPos]==NULL)break; } but uPos should be tested for >= because in the function TreeListGetItem you test: if(uItem>=pData->uTreeItemsMax)return 0; So if there is an item that has exactly the handle equal to uTreeItemsMax you cannot get the data associated to it. - Second: the tooltip window is set as top-level and you see its creation in the application bar. - Another thing: is this control GPL or LGPL license? Thanks, Pablo Yabo
-
ReplyI have all fixed
Posted by xyz007 on 06/29/2007 02:13pmHi Thank you for your hints.
ReplyI have fixed the bugs in TreeListV5.zip, or on my HomePage:
http://members.inode.at/anton.zechner/az/TreeList.htm
The code is unter GPL. Comercial users must publish thier code, or make an aggrement with me.
New bug
Posted by Heyjoe on 05/02/2007 05:26amHi, When Items are deleted, pData->uTreeItemsCount is not update. Could you fixe this bug please Thanx Julien
ReplyLink to actual sources
Posted by xyz007 on 04/20/2007 11:43amSource
ReplyHomepage
Loading, Please Wait ...