This should work. Place the following code in a module:
VB Code:
  1. Option Explicit
  2.  
  3. Private Const GWL_STYLE                  As Long = (-16)
  4. Private Const TVS_HASLINES               As Long = 2
  5. Private Const TV_FIRST                   As Long = &H1100
  6. Private Const TVM_SETBKCOLOR             As Long = (TV_FIRST + 29)
  7.  
  8. Private Declare Function SendMessage _
  9.     Lib "user32" Alias "SendMessageA" _
  10.     (ByVal hwnd As Long, _
  11.      ByVal wMsg As Long, _
  12.      ByVal wParam As Long, _
  13.      lParam As Any) As Long
  14.  
  15. Private Declare Function GetWindowLong _
  16.     Lib "user32" Alias "GetWindowLongA" _
  17.     (ByVal hwnd As Long, _
  18.      ByVal nIndex As Long) As Long
  19.  
  20. Private Declare Function SetWindowLong _
  21.     Lib "user32" Alias "SetWindowLongA" _
  22.     (ByVal hwnd As Long, _
  23.      ByVal nIndex As Long, _
  24.      ByVal dwNewLong As Long) As Long
  25.  
  26. '-----------------------------------------------------------------------------
  27. Public Sub SetTVBackColor(pobjTV As TreeView, plngBackColor As Long)
  28. '-----------------------------------------------------------------------------
  29.  
  30.     Dim lngTVHwnd   As Long
  31.     Dim lngStyle    As Long
  32.     Dim objTVNode   As Node
  33.    
  34.     lngTVHwnd = pobjTV.hwnd
  35.    
  36.     ' Change the background
  37.     Call SendMessage(lngTVHwnd, TVM_SETBKCOLOR, 0, ByVal plngBackColor)
  38.    
  39.     ' Set the backcolor of the nodes ...
  40.     For Each objTVNode In pobjTV.Nodes
  41.         objTVNode.BackColor = plngBackColor
  42.     Next
  43.  
  44.     ' Reset the treeview style so the tree lines appear properly ...
  45.     lngStyle = GetWindowLong(lngTVHwnd, GWL_STYLE)
  46.    
  47.     ' If the treeview has lines, temporarily remove them so the back
  48.     ' repaints to the selected colour, then restore ...
  49.     If lngStyle And TVS_HASLINES Then
  50.        Call SetWindowLong(lngTVHwnd, GWL_STYLE, lngStyle Xor TVS_HASLINES)
  51.        Call SetWindowLong(lngTVHwnd, GWL_STYLE, lngStyle)
  52.     End If
  53.    
  54. End Sub

Usage would be:
VB Code:
  1. SetTVBackColor TreeView1, vbRed  ' substitute vbRed for whatever color you want