2


1

実行時にTImagelistのコンテンツを見る

実行時にTImagelistエディタを呼び出して、「TImagelist」の内容を表示できますか?

3 Answer


6


そのエディターは設計時のエディターであり、実行時には使用できませんが、Drawメソッドを呼び出して、描画する画像のインデックスを指定することにより、キャンバス上のImageList内に保存された画像を描画できます。 以下のサンプルコードは、Form1のImageList1内に保存されているすべての画像を垂直リストに描画します。

var
  i : Integer;
begin
  for i := 0 to ImageList1.Count-1 do
    ImageList1.Draw(Form1.Canvas, 16, 16 + (i * ImageList1.Height),i,True);
end;


5


何らかのフォームにListViewをドロップして、次のようなことを行うことができます。

var
  i: Integer;
  li: TListItem;
begin
  ListView1.LargeImages := ImageList1;
  ListView1.Items.BeginUpdate;
  try
    for i := 0 to Pred(ImageList1.Count) do
    begin
      li := ListView1.Items.Add;
      li.Caption := Format('Image %d', [i]);
      li.ImageIndex := i;
    end;
  finally
    ListView1.Items.EndUpdate;
  end;
end;


0


CodeSiteにはきれいなコードロガーがあります。 これを使用してビットマップオブジェクトをダンプし、ロガーウィンドウで表示できます。