如题,最好用API实现

解决方案 »

  1.   

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    'Private Const CCM_FIRST = &H2000
    'Private Const CCM_SETBKCOLOR = (CCM_FIRST + 1)
    'Private Const TB_SETBKCOLOR = CCM_SETBKCOLOR
    Const TV_FIRST As Long = &H1100
    'Private Const TVM_SETBKCOLOR As Long = (TV_FIRST + 10)
    Private Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)
    Private Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As LongPrivate Sub Form_Load()
        SendMessage TreeView1.hwnd, TVM_SETBKCOLOR, 0, ByVal RGB(128, 128, 255)
        'SendMessage StatusBar1.hwnd, TB_SETBKCOLOR, 0, ByVal RGB(128, 128, 255)
    End Sub
      

  2.   

    虚心向老大学习
    Const TV_FIRST As Long = &H1100
    Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)
    为什么定义这两个常量,+29是什么意思?
      

  3.   

    不要用 vb 自带的那个破 treeview 控件啦,它屏蔽了很多功能的,用这个:
    http://www.vbaccelerator.com/home/VB/Code/Controls/TreeView/TreeView_Control/article.asp
    拥有所有正常 treeview 的功能,还可以使用 winxp treeview 的新功能
      

  4.   

    Const TV_FIRST As Long = &H1100
    Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)这两个常量是 treeview 规定的。
      

  5.   

    看msdn中关于TVM_SETBKCOLOR消息的说明
    29是什么意思?就是定义另外一个消息,这样简单一些(TV_FIRST + 29),只需要记住一个就够了
      

  6.   

    Const TV_FIRST As Long = &H1100
    Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)即是:Const TVM_SETBKCOLOR As Long = &H111D
      

  7.   

    看了半天没看明白,最好是从SendMessage函数讲起^_^
      

  8.   

    SendMessage, SendMessageBynum, SendMessageByString VB声明 
    Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
    Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) 
    说明 
    调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, SendMessageByString是该函数的“类型安全”声明形式 
    返回值 
    Long,由具体的消息决定 
    参数表 
    参数 类型及说明 
    hwnd Long,要接收消息的那个窗口的句柄 
    wMsg Long,消息的标识符 
    wParam Long,具体取决于消息 
    lParam Any,具体取决于消息