canvas绘的图在最小化或其他窗口拖过时会消失,有什么办法可以让它自动重绘?用update?(65分)

  • 主题发起人 主题发起人 ISY
  • 开始时间 开始时间
I

ISY

Unregistered / Unconfirmed
GUEST, unregistred user!
canvas绘的图在最小化或其他窗口拖过时会消失,有什么办法可以让它自动重绘?
用update?
 
放在Form 的 OnPaint 事件中画!!!!!!
 
画完后拉其他窗口在它上面一拖,拖过的地方东西就都没了。
 
不会阿,你试试下面的拖消息框,
你是不是画线,没定起点。
注意连接 Onpaint
procedure TForm1.FormPaint(Sender: TObject);
begin
canvas.moveTo (0,0);
canvas.LineTo (100,100);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('aaaa');
end;

 
画在TImage的Canvas中就不会消失了。
 
同意楼上做法
 
将画图定义在PaintBox的OnPaint事件中,以后只要调用PaintBox.Repaint事件就可以了!
 
onpaint中定义的不会被刷掉,以后绘的会被刷掉;
image无论何时都不会被刷。
不知道还有没有其他。
 
建议画在image中,因为image会自动重绘的。
否则的话就需要添加onpaint事件喽。
 
多人接受答案了。
 
后退
顶部