如何为工具条添加背景。???

dickman 2004-07-28 04:49:58
如题。。。
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dickman 2004-07-30
  • 打赏
  • 举报
回复
如果用一个范围较小的bitmap,去填充一个范围较大的Timage空间,也是用这种方法???

我曾经简单的试过把image的picture属性设为某个bitmap,并将strech属性设为true,但显示结果失真。。
xtao 2004-07-30
  • 打赏
  • 举报
回复
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;

dickman 2004-07-29
  • 打赏
  • 举报
回复
复xtao:
可否再详细点,关于如何将图片放入canvas的代码,不胜感激
醉马不肖 2004-07-28
  • 打赏
  • 举报
回复
学习
xtao 2004-07-28
  • 打赏
  • 举报
回复
CustomDraw的方法中,ToolBar的Flat需要设置为True,不过我想你应该是设置成True了
xtao 2004-07-28
  • 打赏
  • 举报
回复
试试这样:
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支持背景

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧