treeview with 3 state checkbox

Posted on 2005-05-04
Last Modified: 2010-05-18

I am looking for a treeview control that has three state checkbox: ticked(true), unticked(neutral) and crossed(false).

If you have used  sql server, it's very much like those where you set table/query permissions, but in a treeview not listview.

idealy it's free...

Thanks very much!
Question by:ChenChen
    1 Comment
    LVL 22

    Accepted Solution

    The standard State ImageList which has the Checkboxes does not support TriState. You can replace it with your own ImageList. See article and code at with sample code at Download (17kb). You will need to add the Grayed(Indeterminate) state images.  You update the State ImageList using SendMessage(hWnd, TVM_SETIMAGELIST, TVSIL_STATE, ByVal himl).

    Your best bet may be modifying the VbAccelerator Treeview(free with source code) at You also need code to set the check state of child nodes when a parent node is clicked and code to set parent node check state to checked/grayed when a child node is clicked. There is a good example of how to do this at that you could perhaps adapt to Vb6.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Introduction This article makes the case for using two modules in your VBA/VB6 applications to provide both case-sensitive and case-insensitive text comparison operations.  Recently, I solved an EE question using the LIKE function.  In order for th…
    Introduction While answering a recent question ( in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
    Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
    Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

    760 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    10 Experts available now in Live!

    Get 1:1 Help Now