一般的にListViewのデータを取得する場合は、その行をクリックして取得しますが、他のCommandButton等から、ListView内の指定した行の値を取得は可能でしょうか?
また、ListView内にデータがある時、他のコントロールにfocusがあっても常にある行が選択されてしまっています。
データの種類によって、行のForeColorを変えているのですが、その行だけForeColorが変わってしまい困ってます。FullRowSelectをtrueにしたままでこれを回避する方法はありますでしょうか?
開発環境は、WinXP,Visual Basic6.0 SP6です。
よろしくお願いします。
> ListView内の指定した行の値を取得は可能でしょうか?
ListViewの行、って ListItemオブジェクトの事ですよね?
ListItemまで指定できたなら、Textプロパティを参照すればOKかと。
詳細表示モードで、2列目以降の値も取得したいという意味なら、
SubItems / ListSubItems プロパティを併用しましょう。
> 他のコントロールにfocusがあっても常にある行が選択されてしまっています。
「ある行」というのが、どの行なのか良く分かりませんでしたが、
選択されている事が問題ならば、LostFocus時に選択解除させておくとか、
反転表示が問題ならば、HideSelectionプロパティを変更するなどの手法が考えられます。
> その行だけForeColorが変わってしまい困ってます。
いっそ、ListViewを使わず、MSHFlexGrid等に切り替えてみるとか。
ツイート | ![]() |