如何修改treeview的背景色

原创 2004年10月24日 14:14:00
 

在通常情况下,treeview的背景色是不可以修改的,我们可以通过API实现,源码如下<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

如何修改treeview的背景色

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:02
  • 170

改变选中Treeview的节点的背景颜色

procedure TForm1.TreeView1CustomDrawItem(Sender:TCustomTreeView;  Node:TTreeNode;State:TCustomDrawSt...
  • genispan
  • genispan
  • 2008年10月26日 22:43
  • 5785

treeview 如何改变选中节点的背景。

http://stackoverflow.com/questions/12886402/how-to-change-background-color-of-selected-node-in-treev...
  • u014683488
  • u014683488
  • 2016年08月10日 22:55
  • 740

VB中如何修改treeview的背景色

改变 TreeView 的背景    Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWn...
  • sxycgxj
  • sxycgxj
  • 2005年10月12日 15:24
  • 1495

WPF新手之如何自定义TreeView点击后的背景色

WPF StyleSnooper TreeView 默认 背景色 点击
  • thy38
  • thy38
  • 2010年09月16日 17:14
  • 6579

WinForm C# TreeView改变选中节点颜色,失去焦点时选中节点仍突显。

当用户焦点离开TreeView时,TreeView选中节点仍然高亮,但是颜色太浅,几乎看不出来。 这里重写一下DrawMode();可以控制选中节点颜色。 TreeView.HideSelection...
  • hfzsjz
  • hfzsjz
  • 2015年06月01日 10:46
  • 4329

vb.net treeview 鼠标点击节点时文字颜色,背景的改变

首先将TreeView  的DrawMode改为OwnerDrawText,然后再DrawMode事件中写下如下语句:  Private Sub treeView1_DrawNode(ByVal...
  • suming000
  • suming000
  • 2017年03月29日 21:20
  • 391

浅析动态添加、删除、修改TreeView节点

 接着上一篇浅析TreeView绑定效率>>继续讲讲TreeView。在实际项目过程中,TreeView往往会动态的绑定数据,操作界面一旦新添加、修改、删除节点数据,在TreeView中要时时反映新添...
  • WTPMCheng
  • WTPMCheng
  • 2010年03月22日 21:22
  • 5258

wpf 设置treeView节点选中后的的文字颜色、节点的背景色以及节点失去焦点后的背景颜色

  • zhengxiaotaozz
  • zhengxiaotaozz
  • 2017年03月22日 16:13
  • 1904

VFP中TreeView使用实例

 ActiveX控件早已为大多数程序开发人员作为一重要工具来使用。由于它与开发语言无关,任何支持ActiveX控件的软件平台上,都可以使用ActiveX控件。就像使用WINDOWS控件一样自如。然而,...
  • TERRYYRRET
  • TERRYYRRET
  • 2006年01月17日 14:06
  • 3511
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何修改treeview的背景色
举报原因:
原因补充:

(最多只允许输入30个字)