Tree List Control

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.

Downloads

Comments

HitTest not working

Posted by real_skydiver
on 03/23/2014 11:49pm

I receive random HTREEITEM results when I use 'HitTest' in 'OnContextMenu' - but never the one I really clicked on. Without that function the control is pretty useless because a control is supposed to offer interaction between data und user.

human

help..

Posted by ykc7859
on 04/24/2009 01:38am

How to hide listheader?

Look on my homepage

Posted by xyz007
on 05/22/2009 09:08am

Hi,
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")

Use the actual source code

Bug in Vista

Posted by googlejaps
on 12/16/2008 06:41am

When 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.

Reply

Posted by xyz007
on 01/04/2009 10:45am

I 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

Can I use this code in an internal project

Posted by anuruddha_g
on 01/01/2008 11:46pm

Hi,
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

In none commecial programms

Posted by xyz007
on 02/05/2008 07:20am

Hi
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

Bugs

Posted by pyabo
on 06/19/2007 06:03pm

Hello,
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

I have all fixed

Posted by xyz007
on 06/29/2007 02:13pm

Hi
Thank you for your hints.
I 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.