You could try subclassing the parent window and acting on the WM_CTLCOLOR* messages. You could do this with the EventVB.dll thus:
VB Code:
Option Explicit
Dim WithEvents vbLink As EventVB.APIFunctions
Dim WithEvents vbWnd As EventVB.ApiWindow
Private Sub Form_Load()
Set vbLink = New APIFunctions
Set vbWnd = New ApiWindow
vbWnd.hWnd = Me.hWnd
vbLink.SubclassedWindows.Add vbWnd
With TreeView1
.Nodes.Add , , "TOP", "Top level"
.Nodes.Add "TOP", tvwChild, "NEXT1", "Child 1"
.Nodes.Add "TOP", tvwChild, "NEXT2", "Child 2"
End With
End Sub
Private Sub vbWnd_ControlColour(ByVal ControlType As EventVB.StandardControlTypes, ByVal DeviceContext As EventVB.ApiDeviceContext, ByVal ControlWindow As EventVB.ApiWindow, ColourBrush As EventVB.ApiLogBrush)
If ControlWindow.hWnd = TreeView1.hWnd Then
Dim colThis As New ApiColour
With colThis
.Red = 0
.Green = 0
.Blue = 255
End With
Set ColourBrush.Colour = colThis
End If
End Sub
Hope this helps,
Duncan