我正在使用一个名为DevExpress for Delphi 7的扩展程序。它具有Windows 7样式的功能区控件。控件在各个列表中存储大图像和小图像。
到目前为止,我们的软件已经在exe本身填充了这些列表。现在,为了减小尺寸,我们试图通过代码填充它们。这很棘手,因为:
以下是我一直试图使用的代码:
成功添加我们的图片,但在其周围留下白色而不是透明
OR
根本不添加任何图像。
begin
FindAllFiles(RbnImgPath + 'v' + IntToStr(vNo) + '\' + RbnImgFolder+'\*.bmp', faAnyFile, RbnImgList);
for i:=0 to RbnImgList.count-1 do
begin
if FileExists(RbnImgPath + 'v' + IntToStr(vNo) + '\' + RbnImgFolder+'\' + IntToStr(i)+'.bmp') then
begin
//NEED TO CATCH BAD FILES THAT COULDN'T BE READ.
CurrentPNG.LoadFromFile(RbnImgPath + 'v' + IntToStr(vNo) + '\' + RbnImgFolder+'\' + IntToStr(i)+'.png');
//bitmap.LoadFromFile(RbnImgPath + 'v' + IntToStr(vNo) + '\' + RbnImgFolder+'\' + IntToStr(i)+'.bmp');
bitmap.Assign(CurrentPNG);
//ImageList.Add(Convert_PNG_To_bitmap(CurrentPNG), nil);
ImageList.Add(bitmap, nil);
end;
//else //Fill any left with placeholders.
//ImageList.Add(PlcHolderBmp, nil);
end;
bitmap.free;
//CurrentPNG.free;
PlcHolderBmp.free;
end;
如您所见,我一直在尝试将图像添加为位图和PNG。最后,它们总是需要转换为位图才能被添加到列表中。