【问题标题】:see the content of an TImagelist in runtime在运行时查看 TImagelist 的内容
【发布时间】:2010-11-14 21:20:12
【问题描述】:

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

【问题讨论】:

  • 有可能,但是使用 imagelist 组件编辑器侵入包的努力与实现自己的编辑器相比是无法比拟的。

标签: delphi imagelist timagelist


【解决方案1】:

该编辑器是设计时编辑器,在运行时不可用,但您可以通过调用其 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;

【讨论】:

    【解决方案2】:

    您可以将 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;
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-02
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多