お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"ListViewにサムネイル画像を表示する"





ListViewとImageListを使ってサムネイル画像を表示するサンプルです。
Editにフォルダを入力してボタンを押すと、フォルダ内のJpegファイルを
サムネイル表示します。

画面に「Edit」「Button」「ListView」「ImageList」「FileListBox」を
置いてください。またUses節に「Jpeg」を加えます。
各コントロールのプロパティ設定は以下の通りです。

ListView
  LargeImage = ImageList1

ImageList
  Width  = 100
  Height = 100

FileListBox
  Mask    = '*.jpg'
  Visible = False   ←ファイルリスト取得用なんで非表示にする

ボタン押下時のコードです

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  Pic: TPicture;
  Bmp: TBitmap;
begin
  ListView1.Items.Clear;
  ImageList1.Clear;
  Pic := TPicture.Create;
  try
    Bmp := TBitmap.Create;
    try
      Bmp.Width  := ImageList1.Width;
      Bmp.Height := ImageList1.Height;
      FileListBox1.Directory := Edit1.Text;
      for i := 0 to FileListBox1.Items.Count - 1 do
       begin
        Pic.LoadFromFile(Edit1.Text + '\' + FileListBox1.Items[i]);
        Bmp.Canvas.StretchDraw(Rect(0, 0, Bmp.Width, Bmp.Height),
                               Pic.Graphic);
        with ListView1.Items.Add do
         begin
          Caption    := FileListBox1.Items[i];
          ImageIndex := ImageList1.Add(Bmp, nil);
         end;
       end;
    finally
      Bmp.Free;
    end;
  finally
    Pic.Free;
  end;
end;

このサンプルは手抜きですので(^_^;、エラーチェックや画像の縦横比を
維持する処理は適宜入れてください。

                          JBC01362 アトリエ まっちゃん
                                 「うたた寝子」
                                   http://www.people.or.jp/~macchan/
 


- FDELPHI  MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 01/05/21 -

Original document by Atelier Macchan 氏 ID:(JBC01362)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum