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