名前 題名 ▼ Mr.XRAYさん > > TListView で項目(Item) が選択されているかどうかは, > > TListView.ItemIndex の値で確認できます. > > 実際にテストしてみました. > サンプルプログラム集の[790_ファイル一覧・仮想リストビュー]の > [01_ファイル一覧・仮想リストビュー (ファイル名のみ)]を使用しました. > そのサンプルで, > > ListView1.RowSelect := False; > > として,次のイベントのコードを追加して実行した結果です. > 再描画の問題もテストしています. > 最初の図では,ItemIndex の値が 2 となっていて,3 番目の項目が選択されている > ことが分かります. > 次の図では -1 となっていますから,どの項目も選択されていないことが分かります. > しかし,再描画が完全でないために,描画が不自然な状態となっています. > 動作確認は,Windows 7 U64(SP1) + Delphi XE(UP1) Pro です. > > > procedure TForm1.ListView1Click(Sender: TObject); > var > AIndex : Integer; > begin > //図はこの再描画のコードがない場合でテストしている > //ListView1.Invalidate; > > AIndex := ListView1.ItemIndex; > //フォーカス領域の枠線を描画しない場合 > //図ではこのコードがない場合でテストしている > //このコードを実行すると,再描画が行われるのでListView1.Invalidate;は不要 > //if AIndex < 0 then begin > // ListView1.ItemFocused := nil; > //end; > > Panel1.Caption := '選択項目番号 ' + IntToStr(AIndex); > end; > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link