可能會在運行時調用TImagelist編輯器來查看我的TImagelist
的內容嗎?在運行時查看TImagelist的內容
2
A
回答
6
該編輯器是一個設計時編輯器,並且在運行時不可用,但您可以通過調用其Draw方法並指定要繪製的圖像的索引,在任何畫布上繪製ImageList中保存的任何圖像。下面的示例代碼繪製保存裏面ImageList1在Form1上的所有圖像在垂直列表:
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有一個漂亮的代碼記錄儀。您可以使用它來轉儲位圖對象,並在記錄器窗口中查看它。
這是可能的,但侵入封裝ImageList組件編輯的努力是比實現自己的編輯器無法比擬的。 – 2010-11-15 19:14:48