Solved

Multiple Text colors in TreeView Control for different Nodes

Posted on 2002-03-07
6
986 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
ID: 6847992
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
ID: 6848474
    tv1.Nodes(1).Forecolor = vbRed
0
 

Author Comment

by:jonjon
ID: 6848521
ameba,
   'Forecolor' is not a member of the Nodes collection, your suggestion produces an error.  Any other ideas?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 15

Accepted Solution

by:
ameba earned 250 total points
ID: 6848550
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
ID: 6848689
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
ID: 6848719
Wow, thanks for extra points!  :-)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

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…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

867 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

22 Experts available now in Live!

Get 1:1 Help Now