言語:VB6
環境:XP
いつも参考にさせていただいています。
元々あるListViewの機能に色分け表示機能を追加したいと考えています。
行・セル単位のBackColorプロパティが見当たらない為、ForeColorとBold
で強調表示することとし、後述のロジックを作りました。
FullRowSelectは、バーカーソルとして使用しています。
HideSelectionは、フォーカス喪失後もカーソル位置が分かるように使用しています。
問題なく色分けすることはできたのですが、
カーソル位置にある行が下記のように表示されることが分かりました。
フォーカス有り・・・白抜き文字
フォーカス喪失・・・黒文字
通常色(黒)も上記と同じ状態になる為、データ識別機能としては
弱く感じてしまいます。
このオブジェクトを使用して、カレント位置が分かり、
"登録済み"or"登録未済み"の判別ができるような方法は
ありますでしょうか。
ご存知の方おられましたら、御教授願います。
-------------------------------------------------------
With List
.View = lvwReport
.GridLines = True
.LabelEdit = lvwManual
.FullRowSelect = True
.HideSelection = False
End With
'中略
If Len(sData)<>0 Then
'(中略)
Else
List.ListItems(m).SubItems(n) = "未登録"
List.ListItems(m).ListSubItems(n).ForeColor = vbRed
List.ListItems(m).ListSubItems(n).Bold = True
End If
-------------------------------------------------------
以上です。
登録済みと,未登録のImageを変えたらいかがでしょうか。
カレントの場合はImageにドットの網がかかりますが、
赤などの目立つ色を設定すれば解かり易いと思いますが。
我龍院 忠太様
回答頂きありがとう御座います。
Imageというもので色々調べたいと思います。
ただ、
Imageというプロパティが無いように思えたのですが、
これはイメージリストというものを使うということでしょうか?
その場合、登録済みと未登録のピクチャみたいなのを用意すれば
良いのでしょうか?
聞いてばかりですみません。
宜しければ、ご回答願います。
以上です。
あれれ!失礼しました、TreeViewと間違えました。
ListViewの場合は、SmallIcon でした。orz
ツイート | ![]() |