Saya menggunakan VB中改变TreeView untuk menggunakan API dan 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
Fungsi Deklarasi Pribadi GetWindowLong Lib User32 Alias GetWindowLongA (ByVal hWnd Selama, ByVal nIndex Selama) Selama
Fungsi Deklarasi Pribadi SetWindowLong Lib User32 Alias SetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) Selama
Konstanta Pribadi GWL_STYLE = -16&
Konst Pribadi TVM_SETBKCOLOR = 4381&
Konst Pribadi TVM_GETBKCOLOR = 4383&
Konst Pribadi TVS_HASLINES = 2&
Redupkan form terakhir sebagai Form
Sub Formulir_Load() Pribadi
Redupkan nodX Sebagai Node
Setel nodX = TreeView1.Nodes.Add(, , R, Root)
Setel nodX = TreeView1.Nodes.Add(R, tvwChild, C1, Anak 1)
Setel nodX = TreeView1.Nodes.Add(R, tvwChild, C2, Anak 2)
Setel nodX = TreeView1.Nodes.Add(R, tvwChild, C3, Anak 3)
Setel nodX = TreeView1.Nodes.Add(R, tvwChild, C4, Anak 4)
nodX.Pastikan Terlihat
TreeView1.style = tvwTreelinesText ' Gaya 4.
TreeView1.BorderStyle = vbFixedSingle
Akhiri Sub
Sub Perintah Pribadi1_Klik()
Redupkan lngStyle Selama
Hubungi SendMessage(TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB(255, 0, 0))
'改变背景到红色
lngStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Panggil SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Panggil SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle)
Akhiri Sub
Opsi Eksplisit
Fungsi Deklarasi Pribadi SendMessage Lib User32 Alias SendMessageA (ByVal hWnd Selama, ByVal wMsg Selama, ByVal wParam Selama, lParam Selama) Selama
Fungsi Deklarasi Pribadi GetWindowLong Lib User32 Alias GetWindowLongA (ByVal hWnd Selama, ByVal nIndex Selama) Selama
Fungsi Deklarasi Pribadi SetWindowLong Lib User32 Alias SetWindowLongA (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) Selama
Konstanta Pribadi GWL_STYLE = -16&
Konst Pribadi TVM_SETBKCOLOR = 4381&
Konst Pribadi TVM_GETBKCOLOR = 4383&
Konst Pribadi TVS_HASLINES = 2&
Sub Formulir_Load() Pribadi
Redupkan nodex Sebagai Node
Redupkan saya Sebagai Integer
Redupkan Gaya Selamanya
Hubungi SendMessage(TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB(255, 0, 0))
lStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Panggil SetWindowLong(TreeView1.hWnd, GWL_STYLE, lStyle - TVS_HASLINES)
Panggil SetWindowLong(TreeView1.hWnd, GWL_STYLE, lStyle)
TreeView1.Style = tvwTreelinesPlusMinusPictureText
TreeView1.BorderStyle = ccFixedSingle
Dengan TreeView1.Nodes
Setel nodex = .Tambahkan(, , R, Root)
nodex.BackColor = RGB(255, 0, 0)
Untuk i = 1 Sampai 10
Setel nodex = .Add(R, tvwChild, C & i, Child & i)
nodex.BackColor = RGB(255, 0, 0)
nodex.Pastikan Terlihat
Berikutnya
Akhiri Dengan
Akhiri Sub