はじめまして。よろしくお願いします。
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
VB6ですよね。
どうやら、Microsoft Windows Common Controls 6.0 (MSCOMCTL.OCX)
のTreeViewコントロールで発生する現象の様です。
Microsoft Windows Common Controls 5.0 (COMCTL32.OCX)
のTreeViewコントロールを使いましょう。
おおおお。VB6でございます。
なんと、そうでしたか・・・
ご教示いただいたコントロールでためしてみたいと思います。
どうもありがとうございました。
また、確認結果をご報告させていただきます。
ツイート | ![]() |