Solved

Multiple Text colors in TreeView Control for different Nodes

Posted on 2002-03-07
6
997 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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

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…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
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…

821 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