TreeView(ツリービュー)の背景色を設定するには?


きん  2005-01-19 06:14:57  No: 87888

はじめまして。よろしくお願いします。

TreeViewの背景色を設定したのですが、下記"#"部分だけ白のままになってしまいます。どうしてでしょうか?
SendMessageでTVM_SETBKCOLOR,TVM_SETTEXTCOLORを設定しているのですが、
どうしても何もない左側だけいろが変わりません!!

[-]ノード親1
 |---ノードa
 |---[-]ノード親1
##### |---ノードb
##### |---ノードc

プログラムはこんなカンジです。

Private Const TV_FIRST          As Long = &H1100
Private Const TVM_SETBKCOLOR    As Long = (TV_FIRST + 29)
Private Const TVM_SETTEXTCOLOR  As Long = (TV_FIRST + 30)

sub 色づけ
    Dim lnghWnd As Long
    Dim lngSty  As Long
    Dim nForeColor As Long
    Dim nBackColor As Long
    Dim nd As Node
    
    lnghWnd = Me.Tree_Tables.hWnd
    lngSty = Me.Tree_Tables.Style
    

    nForeColor = Form_QueryEditor.TextBox_SQL.ForeColor
    nBackColor = Form_QueryEditor.TextBox_SQL.BackColor
    
    Call OleTranslateColor(nForeColor, 0&, nForeColor)
    Call OleTranslateColor(nBackColor, 0&, nBackColor)
    
    Form_Image.ImgLst_Icons02.BackColor = nBackColor

    Call SendMessage(lnghWnd, TVM_SETBKCOLOR, 0, nBackColor)
    Call SendMessage(lnghWnd, TVM_SETTEXTCOLOR, 0, nForeColor)
    
    With Me.Tree_Tables
        lngSty = .Style
        .Style = 0
        .Style = lngSty
        For Each nd In .Nodes
            nd.BackColor = nBackColor
            nd.ForeColor = nForeColor
        Next
    End With
end sub


たま  2005-01-19 07:16:24  No: 87889

VB6ですよね。
どうやら、Microsoft Windows Common Controls 6.0 (MSCOMCTL.OCX)
のTreeViewコントロールで発生する現象の様です。

Microsoft Windows Common Controls 5.0 (COMCTL32.OCX)
のTreeViewコントロールを使いましょう。


きん  2005-01-19 18:43:39  No: 87890

おおおお。VB6でございます。
なんと、そうでしたか・・・

ご教示いただいたコントロールでためしてみたいと思います。
どうもありがとうございました。

また、確認結果をご報告させていただきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加