2010-11-14 4 views

ответ

6

Этот редактор является редактором времени разработки и недоступен во время выполнения, но вы можете нарисовать любые изображения, сохраненные внутри ImageList, на любом холсте, вызвав его метод Draw и указав индекс изображения, которое вы хотите нарисовать , В примере кода ниже рисует все изображения, сохраненные в 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; 
Смежные вопросы