delphi.gif (306 バイト) ListViewの使い方


リストビューは「マイコンピュータ」のような表示を行います。項目をグラフィカルに一覧表示したいとき使用できます。リストビューはツリービューと使い方が似ています。

 

toach.gif (917 バイト) リストビューにアイコンを一覧表示するには

  1. イメージリストにアイコンを読み込んでおきます。(参照)ImageListの使い方
  2. オブジェクトインスペクタでイメージリストをリストビューのLargeImagesプロパティに設定します。
  3. リストビューにアイテムを追加してキャプションとイメージインデクスを設定します。

var
    i: Integer;
begin
    // ListView1.LargeImages := ImageList1;
    for i := 0 to ImageList1.Count - 1 do
    begin
        ListView1.Items.Add;
        ListView1.Items[i].Caption := 'Icon'+IntToStr(i);
        ListView1.Items[i].ImageIndex := i;
    end;
end;

toach.gif (917 バイト) アイコンを後から読み込むには

下記の例のようにアイコンオブジェクトを作成してファイルから読み込みイメージリストに追加します。それをリストビューに追加することにより読み込んだアイコンを表示できます。

var
    icon: TIcon;
    n, i: Integer;
    fn: string;
    r: Integer;
begin
    { それまでの内容を消去する }
    ImageList1.Clear;
    ListView1.Items.Clear;

    { ICONを列挙して追加する }
    FileListBox1.Directory := CurrentDirectory;
    n := FileListBox1.Items.Count;
    icon := TIcon.Create;
    for i := 1 to n do
    begin
        fn := FileListBox1.Directory + '\' + FileListBox1.Items.Strings[i-1];
        icon.LoadFromFile(fn);
        r := ImageList1.AddIcon(icon);
        if r < 0 then
            exit;
        ListView1.Items.Add;
        ListView1.Items[i-1].Caption := FileListBox1.Items.Strings[i-1];
        ListView1.Items[i-1].ImageIndex := i - 1;
    end;
    icon.Free;

toach.gif (917 バイト) 現在選択されているアイコンを得るには

OnClickイベントなどでSelectedプロパティを参照し、現在選択されているアイテムを得ることができます。

StatusBar1.Panels[0].Text := ListView1.Selected.Caption;