【发布时间】:2010-11-14 21:20:12
【问题描述】:
是否可以在运行时调用 TImagelist 编辑器来查看我的 TImagelist 的内容?
【问题讨论】:
-
有可能,但是使用 imagelist 组件编辑器侵入包的努力与实现自己的编辑器相比是无法比拟的。
标签: delphi imagelist timagelist
是否可以在运行时调用 TImagelist 编辑器来查看我的 TImagelist 的内容?
【问题讨论】:
标签: delphi imagelist timagelist
该编辑器是设计时编辑器,在运行时不可用,但您可以通过调用其 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;
【讨论】:
您可以将 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;
【讨论】:
CodeSite 有一个漂亮的代码记录器。您可以使用它来转储位图对象,并在记录器窗口中查看它。
【讨论】: