質問失礼しますm(_ _)m
現在リストビュー(詳細表示)を使用して、ログ表示を作成しており(下記参照)、行ごとに文字色を変えたいと思っているのですが、SubItemsに関しての色が変更できません(T_T)
エラーが起こらないので構文が間違っているとは思えないのですが、、、
どなたか、解かるお方がいらっしゃいましたらご教授をお願いします。。。
|現在時間|イベント|内容・・・|
|X:XX| AA |BB・・・|
|Y:YY| CC |DD・・・|←例えばこの行だけを青色文字にしたい
|Z:ZZ| EE |FF・・・|
'2行目セット時の文
Dim itm as ListItem
Set itm = lsvLog.ListItems.Add(, , Time)
itm.SubItems(1) = "CC"
itm.SubItems(2) = "DD"
itm.ForeColor = &HFF0000 '青色セット
itm.ListSubItems.Item(1).ForeColor = itm.ForeColor
itm.ListSubItems.Item(2).ForeColor = itm.ForeColor
(1)、(2)でサブアイテム(2・3列目)も青色にセットしているのですが、1列目しか青くなりません。(「Y:YY」はOk、「CC」、「DD」の色は黒のままです。どぉしてもわからず苦戦しております。
どなたか、お力をお貸しください<(_ _)>
以上、長文失礼しました。
不都合がないなら
itm.ForeColor = &HFE0000
にしてみるとか
Sayさん、ありがとうございます。
itm.ForeColor=&HFF0000のみで指定してみましたが、
やはりできませんでした(T_T)
何か他の部分で悪さしているものがあるのかもしれないので、
調査してみます。
(同様の経験があるお方がいらっしゃったらコメントお願いします。<(_ _)>)
どうもありがとうございました。
お騒がせしました。(^^;)
もう一度よぉく調べてみたところ、リストビューのプロパティの
「行全体を選択」にチェックが入っておりませんでした。
これにチェックを入れ、
itm.ForeColor = &HFF0000 '青色セット
itm.ListSubItems.Item(1).ForeColor = itm.ForeColor ・・・(1)
itm.ListSubItems.Item(2).ForeColor = itm.ForeColor ・・・(2)
を記述したところ、無事に行全体の文字色を変えることができました。
なお、(1)、(2)の記述がないと×でした。
どうもありがとうございました。m(_ _)m
ツイート | ![]() |