Solved

Multiple Text colors in TreeView Control for different Nodes

Posted on 2002-03-07
6
972 Views
Last Modified: 2012-08-14
Using VB6, trying to use more than one text color on the
treeview nodes.  Node one is Blue, Node two is Red for
example.  I know that this can be done using c++, and that
the VB Treeview is a wrapper around the c++ version.  I
can get a handle to the TreeView.Node(TV_ITEM) and I
attempt to SendMessage a message via:
"Call SendMessage(hItem, TVM_SETTEXTCOLOR, 0, ByVal
clrref)"
Anybody know if more than one text/fore color can be used in the same treeview?
Thanks
.
0
Comment
Question by:jonjon
  • 3
  • 2
6 Comments
 
LVL 18

Expert Comment

by:mdougan
Comment Utility
Don't know about the treeview that ships with VB.  But, if it turns out that you can't do it with the standard treeview, it is possible to do this using the VSFlexGrid Pro v7.0 from ComponentOne (formerly VideoSoft).  It's a grid control, but has a mode where it can perfectly simulate a treeview, only it gives you total control over each cell (node).  You can have different fonts, different foreground or background colors, whatever you want.  And, in my opinion, it works better than the Treeview for a lot of different things.
0
 
LVL 15

Expert Comment

by:ameba
Comment Utility
    tv1.Nodes(1).Forecolor = vbRed
0
 

Author Comment

by:jonjon
Comment Utility
ameba,
   'Forecolor' is not a member of the Nodes collection, your suggestion produces an error.  Any other ideas?
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 15

Accepted Solution

by:
ameba earned 250 total points
Comment Utility
Property ForeColor As OLE_COLOR
    Member of MSComctlLib.Node
    Returns/sets the foreground color used to display text for a Node object.

Maybe you are using project created in VB5 - old version of Common Controls library.
To convert project to VB6, I used to use PrjUpgd.exe
http://support.microsoft.com/default.aspx?scid=kb;NL;q194412

My version in Project, Components, is: "Microsoft Windows Common Control 6.0 (SP4)"
0
 

Author Comment

by:jonjon
Comment Utility
ameba,
   You hit it on the head.  This is an old VB project that I inherited that had two versions of the "Microsoft Windows Common Control" loaded. (5.0 and 6.0)  This particular TreeView control was a version 5.0.  I got rid of the version 5.0 and replaced it with a Treeview version 6.0 and the .ForeColor appeared.  I was able to change the color for each node as I needed.

Thanks,
0
 
LVL 15

Expert Comment

by:ameba
Comment Utility
Wow, thanks for extra points!  :-)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
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…

771 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

8 Experts available now in Live!

Get 1:1 Help Now