La version VB de TreeView est basée sur l'API.
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
Fonction de déclaration privée GetWindowLong Lib User32 Alias GetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Fonction de déclaration privée SetWindowLong Lib User32 Alias SetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const privée GWL_STYLE = -16&
Const privée TVM_SETBKCOLOR = 4381&
Const privée TVM_GETBKCOLOR = 4383&
Const privée TVS_HASLINES = 2&
Dim frmlastForm As Form
Sous-formulaire privé_Load()
Dim nodX en tant que nœud
Définir nodX = TreeView1.Nodes.Add(, , R, Root)
Définir nodX = TreeView1.Nodes.Add(R, tvwChild, C1, Child 1)
Définir nodX = TreeView1.Nodes.Add(R, tvwChild, C2, Child 2)
Définir nodX = TreeView1.Nodes.Add(R, tvwChild, C3, Child 3)
Définir nodX = TreeView1.Nodes.Add(R, tvwChild, C4, Child 4)
nodX.EnsureVisible
TreeView1.style = tvwTreelinesText 'Style 4.
TreeView1.BorderStyle = vbFixedSingle
Fin du sous-marin
Sous-commande privé1_Click()
Dim lngStyle aussi longtemps
Appelez SendMessage (TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB (255, 0, 0))
'改变背景到红色
lngStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Appelez SetWindowLong (TreeView1.hWnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Appelez SetWindowLong (TreeView1.hWnd, GWL_STYLE, lngStyle)
Fin du sous-marin
Option explicite
Fonction de déclaration privée SendMessage Lib User32 Alias SendMessageA (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Fonction de déclaration privée GetWindowLong Lib User32 Alias GetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Fonction de déclaration privée SetWindowLong Lib User32 Alias SetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const privée GWL_STYLE = -16&
Const privée TVM_SETBKCOLOR = 4381&
Const privée TVM_GETBKCOLOR = 4383&
Const privée TVS_HASLINES = 2&
Sous-formulaire privé_Load()
Dim nodex en tant que nœud
Dim i comme entier
Dim lStyle aussi longtemps
Appelez SendMessage (TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB (255, 0, 0))
lStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Appelez SetWindowLong (TreeView1.hWnd, GWL_STYLE, lStyle - TVS_HASLINES)
Appelez SetWindowLong (TreeView1.hWnd, GWL_STYLE, lStyle)
TreeView1.Style = tvwTreelinesPlusMinusPictureText
TreeView1.BorderStyle = ccFixedSingle
Avec TreeView1.Nodes
Définir nodex = .Add(, , R, Root)
nodex.BackColor = RVB (255, 0, 0)
Pour i = 1 à 10
Définir nodex = .Add(R, tvwChild, C & i, Child & i)
nodex.BackColor = RVB (255, 0, 0)
nodex.EnsureVisible
Suivant
Terminer par
Fin du sous-marin