C
cook
Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下
procedure TForm1.Button1Click(Sender: TObject);
var Rect :TRect;
bti :TBitmap;
begin
bti := TBitmap.Create;
bti.LoadFromFile(t3.bmp');
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := SpeedButton1.Width;
Rect.Bottom := SpeedButton1.Height;
Bti.Width := SpeedButton1.Width-2;
Bti.Height := SpeedButton1.Height-2;
Bti.Canvas.StretchDraw(Rect,SpeedButton1.Glyph);
SpeedButton1.Glyph := Bti;
Bti.Free;
end;
我想用上面的代码把t3.bmp拉伸后画到speedbutton1上
结果和很有意思
在win2000+delphi5下
按一下按钮,图象没有被拉伸,而是原样画到speedbutton上
按第二下,该图象拉伸了两个象素,以后每按一下增加两个象素。
如果把 Bti.Height := SpeedButton1.Height-2;
改为 Bti.Height := SpeedButton1.Height-10;
则每次长10个象素
在win98+delphi6下,图象不会拉伸,也不会长大。
在c++ builder4下一次就拉伸到整个按钮上了
procedure TForm1.Button1Click(Sender: TObject);
var Rect :TRect;
bti :TBitmap;
begin
bti := TBitmap.Create;
bti.LoadFromFile(t3.bmp');
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := SpeedButton1.Width;
Rect.Bottom := SpeedButton1.Height;
Bti.Width := SpeedButton1.Width-2;
Bti.Height := SpeedButton1.Height-2;
Bti.Canvas.StretchDraw(Rect,SpeedButton1.Glyph);
SpeedButton1.Glyph := Bti;
Bti.Free;
end;
我想用上面的代码把t3.bmp拉伸后画到speedbutton1上
结果和很有意思
在win2000+delphi5下
按一下按钮,图象没有被拉伸,而是原样画到speedbutton上
按第二下,该图象拉伸了两个象素,以后每按一下增加两个象素。
如果把 Bti.Height := SpeedButton1.Height-2;
改为 Bti.Height := SpeedButton1.Height-10;
则每次长10个象素
在win98+delphi6下,图象不会拉伸,也不会长大。
在c++ builder4下一次就拉伸到整个按钮上了