2

Is it possible to load an image from a TImageList into a TTrayIcon at runtime? How? Is this a good idea? Or is there a more preferred method for changing the tray icon's image at runtime?

4

2 回答 2

2

这是一个班轮:

ImageList1.GetIcon(0, TrayIcon1.Icon);

它将索引图像列表图标复制到托盘图标。

于 2016-03-23T14:42:26.817 回答
1

使用由半透明 png 图像组成的图像列表在带有 Lazarus 0.9.30.4 的 Windows 上进行了测试,可以使用临时位图:

var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    ImageList1.GetBitmap(0, Bmp);
    TrayIcon1.Icon.Assign(Bmp);
    TrayIcon1.Show;
  finally
    Bmp.Free;
  end;

我认为在运行时从图像列表图像分配图标没有任何问题。另请参阅组件wiki 页面上的示例,了解在运行时分配图标的其他可能实现。

于 2012-10-07T12:31:43.970 回答