Option Explicit
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
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = -16&
Private Const TVM_SETBKCOLOR = 4381&
Private Const TVM_GETBKCOLOR = 4383&
Private Const TVS_HASLINES = 2&
Private Sub Form_Load()
Dim nodex As Node
Dim i As Integer
Dim lStyle As Long
Call SendMessage(TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB(255, 0, 0))
lStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lStyle - TVS_HASLINES)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lStyle)
TreeView1.Style = tvwTreelinesPlusMinusPictureText
TreeView1.BorderStyle = ccFixedSingle
With TreeView1.Nodes
Set nodex = .Add(, , "R", "Root")
nodex.BackColor = RGB(255, 0, 0)
For i = 1 To 10
Set nodex = .Add("R", tvwChild, "C" & i, "Child " & i)
nodex.BackColor = RGB(255, 0, 0)
nodex.EnsureVisible
Next
End With
End Sub
博客展示了使用User32库中的API函数来设置TreeView控件样式的代码。通过SendMessage、GetWindowLong和SetWindowLong等函数,设置了TreeView的背景颜色、去除线条样式等,还添加了节点并设置节点背景颜色。
5123

被折叠的 条评论
为什么被折叠?



