delphi - 在 Timage 中显示图像列表项

标签 delphi

我创建了一个图像列表,其中包含 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;

最佳答案

您可以尝试以下代码:

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);

关于delphi - 在 Timage 中显示图像列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3385088/

相关文章:

delphi - 按钮(保持 "up"或 "down")

delphi - 为什么缺少可选参数会导致 "Incompatible types"错误

delphi - 基于无约束泛型类型创建对象实例

performance - Delphi:为什么二进制字符串比较运算符 (=) 不使用 SameStr?

macos - 如何使用Indy获取本地IP4地址?

delphi - 创建一个包含外部 dll 函数的 Delphi 类

delphi - 启动和停止屏幕保护程序

sql - Delphi ADOQuery 在另一个 ADOQuery 插入后没有拾取记录

delphi - 我们可以在运行时使用dcu(Delphi编译单元)吗?

java - 在 Delphi 或 Java 中保持窗口位于顶部