关于canvas的重画问题,谢谢(100分)

  • 主题发起人 主题发起人 orea
  • 开始时间 开始时间
O

orea

Unregistered / Unconfirmed
GUEST, unregistred user!
在OnFormPaint()时,为什么
paintbox1.canvas.draw(0,0,mybitmap)没有东西出来,

而在onbtn1click()时,
paintbox1.canvas.draw(0,0,mybitmap)却可以显示出东西?

应该如何解决自动重画问题?请指教。
 
响应PaintBox1.OnPaint。
 
如果所画的图形是对于整个窗体的话,根本不需要要用到PaintBox。
直接
Canvas.Draw(0,0,MyBitmap);
就可以了。
 
procedure TForm1.FormPaint(Sender: TObject);
var
b:Tbitmap;
begin
b:=tbitmap.Create;
b.LoadFromFile('c:/background.bmp');
paintbox1.canvas.draw(0,0,b);
end;
可以的呀,没有问题!win98+Delphi5
 
我是在写一个打字测试程序,其中mybitmap中存入的是paintbox中canvas.textout出来的东西.我准备在paintbox被破坏时,再从mybitmap中读出原来的内容.
结果发现将重画的过程放在onformpaint()中不能显示出文字.
图片大概是可以的,但文字确实不能显示出来,百思不得其解.
 
原来是paintbox下面的image把文字又给擦了。删去image后问题解决。
感谢各位。
 
直接用 TImage 吧.
 
时间太久,强制结束。 wjiachun
 
后退
顶部