dcsimg
 

VB Coding Tip: Treeview - Changing Colours

by Sam Huggill

This is the second part of the Treeview code series. This week we use API calls to change the background colour of the treeview control, and a few other settings.

This is the second part of the Treeview code series. This week we use API calls to change the background colour of the treeview control, and a few other settings.

'API Call for Sending the message
Private Declare Function _
      SendMessage _
   Lib "user32" Alias _
      "SendMessageA" (ByVal hWnd As Long, _
                ByVal wMsg As Long, _
                ByVal wParam As Long, _
                lParam As Long) As Long 

'Constants for changing the treeview
Private Const GWL_STYLE = -16&
Private Const TVM_SETBKCOLOR = 4381&
Private Const TVM_GETBKCOLOR = 4383&
Private Const TVS_HASLINES = 2&
Private Const TV_FIRST As Long = &H1100
Private Const TVM_GETTEXTCOLOR As Long = _
                          (TV_FIRST + 32)
Private Const TVM_SETTEXTCOLOR As Long = _
                          (TV_FIRST + 30) 

Private Sub Form_Load()
'This is last weeks code
'Declare Variables
Dim mNode As Node
Dim i As Integer
'Populate the list box
List1.AddItem "Node 1"
List1.AddItem "Node 2"
List1.AddItem "Node 3"
'Add the primary node
Set mNode = TreeView1.Nodes.Add()
mNode.Text = "Primary Node"
'Add the nodes from the list box
For i = 0 To List1.ListCount - 1
Set mNode = TreeView1.Nodes.Add(1, tvwChild)
mNode.Text = List1.List(i)
Next i 

'This is this weeks code
'Send a message to the treeview telling it to
'change the background It uses an RGB colour setting
Call SendMessage(TreeView1.hWnd, _
                 TVM_SETBKCOLOR, _
                 0, _
                 ByVal RGB(255, 204, 0))
'Same as above except this one tells it to change
'the text colour
Call SendMessage(TreeView1.hWnd, _
                 TVM_SETTEXTCOLOR, _
                 0, _
                 ByVal RGB(0, 127, 0))
End Sub
This article was originally published on Monday Nov 18th 2002
Home
Mobile Site | Full Site