procedure TForm1.ToolBar1CustomDraw(Sender: TToolBar; const ARect: TRect; var DefaultDraw: Boolean); var Bitmap: TBitmap; I, J, W, H, BW, BH: Integer; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile('C:\WINNT\Coffee Bean.bmp'); BW := Bitmap.Width; BH := Bitmap.Height; with ARect do begin W := (Right - Left) div BW; H := (Bottom - Top) div BH; end; for J := 0 to H do for I := 0 to W do Sender.Canvas.Draw(I * BW, J * BH, Bitmap); finally Bitmap.Free; end; end;
procedure TForm1.ToolBar1CustomDraw(Sender: TToolBar; const ARect: TRect;
var DefaultDraw: Boolean);
begin
Sender.Canvas.Brush.Color := clRed; //这里两行改成画图片就行了
Sender.Canvas.FillRect(ARect);
DefaultDraw := True;
end;或者用CoolBar+ToolBar,CoolBar支持背景
可否再详细点,关于如何将图片放入canvas的代码,不胜感激
var
Bitmap: TBitmap;
I, J, W, H, BW, BH: Integer;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('C:\WINNT\Coffee Bean.bmp');
BW := Bitmap.Width;
BH := Bitmap.Height;
with ARect do
begin
W := (Right - Left) div BW;
H := (Bottom - Top) div BH;
end;
for J := 0 to H do
for I := 0 to W do
Sender.Canvas.Draw(I * BW, J * BH, Bitmap);
finally
Bitmap.Free;
end;
end;