imagelist控件设计时创建并增加位图和运行时创建并增加位图的结果不同,怎么解决这个问题?
zcs_1 2003-04-15 03:47:17 以下是我在的一段增加工具条的代码,首先创建bitmap和imagelist控件,向bitmap中增加一个位图,并将bitmap加入到imagelist中。然后创建一个toolbar,并在这个toolbar上增加一个toolbutton,然后将toolbutton的imageindex设为0。
问题是,此时在toolbutton上显示出来的图标还有自己的背景色,而且将imagelist的bkcolor属性修改后对toolbutton的图标颜色没有任何影响,但是如果在设计时创建好imagelist,toolbar和toolbutton,那么toolbutton上的背景色就和按钮的颜色一样了。
如何在运行时创建imagelist使得toolbutton上的图标的背景色和按钮的颜色一样呢?
procedure TForm1.Button6Click(Sender: TObject);
var
MyTB: TToolBar;
MyBt: TToolButton;
MyImage: TImageList;
Mybitmap: Graphics.TBitmap;
begin
Mybitmap := Graphics.TBitmap.Create;
Mybitmap.LoadFromFile('bitmap1.bmp');
MyImage := TImageList.Create(Form1);
MyImage.Add(Mybitmap,nil);
MyImage.BkColor := clRed;
MyTB := TToolBar.Create(Self);
MyTB.Parent := Form1;
MyTB.Color := clAqua;
MyTB.Images := ImageList1;
MyBt := TToolButton.Create(self);
MyBt.Parent := TWinControl(MyTB);
MyBt.ImageIndex := 0;
end;