我创建了一个内部有20位图的图像列表,下拉列表值从1到20.当我选择下拉列表时,它应该显示与下拉列表索引相对应的位图。我遇到的问题是,当我选择下拉列表并且图像太小时,它会一直显示相同的图像。有没有想过解决这个问题?并使图像更大?
procedure TForm1.FormShow(Sender: TObject);
var
i : integer;
begin
for i:=0 to 20 do begin
cboIcon.Items.Add(inttostr(i));
end;
end;
procedure TForm1.cboIconChange(Sender: TObject);
begin
ImageList1.Draw (Image1.Canvas, 0,0, cboIcon.ItemIndex);
end;
答案 0 :(得分:17)
您可以尝试以下代码:
Image1.Stretch := true; // to make it as large as Image1
Image1.Proportional := true; // to keep width/height ratio
Image1.Picture.Bitmap:= nil; // clear previous image
ImageList1.GetBitmap(cboIcon.ItemIndex, Image1.Picture.Bitmap);