2

是否可以在运行时调用 TImagelist 编辑器来查看我的内容TImagelist

4

3 回答 3

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;
于 2010-11-14T22:54:18.123 回答
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;
于 2010-11-15T07:28:57.690 回答
0

CodeSite 有一个漂亮的代码记录器。您可以使用它来转储位图对象,并在记录器窗口中查看它。

http://www.raize.com/DevTools/CodeSite/Default.asp

于 2010-11-16T05:19:49.547 回答