是否可以在运行时将TImageList中的图像加载到TTrayIcon中?怎么样?这是一个好主意吗?或者是否有更优选的方法在运行时更改托盘图标的图像?
答案 0 :(得分: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 page示例,了解在运行时分配图标的其他可能实现。
答案 1 :(得分:1)
这是一个班轮:
ImageList1.GetIcon(0, TrayIcon1.Icon);
它将索引图像列表图标复制到托盘图标。