每当我更改绘画盒的大小时,绘画盒只会清除自身,不会在同一过程中添加任何图形。
这就是我想要做的(BMP是位图)。
PaintBox1.Width := PaintBox1.Width - 20;
PaintBox1.Height := PaintBox1.Height - 20;
BMP.Width := PaintBox1.Width;
BMP.Height := PaintBox1.Height;
Paintbox1.Canvas.Draw(0,0,BMP,255);
我尝试创建另一个过程来绘制位图,并在更改绘画盒的大小后立即运行此过程,但这也不起作用。
这似乎只有在我将Canvas.Draw分配给另一个过程并随后使用另一个按钮执行时才起作用。
有解决方案吗?
答案 0 :(得分:2)
只要Windows需要,绘制屏幕上的图形都会重新绘制。当需要进行绘制时,Windows消息系统会将WM_PAINT
消息发送到窗口句柄。在Delphi中,在大多数情况下,尤其是TPaintBox
,这意味着实现OnPaint
事件处理程序。每当Windows需要您进行绘画时,都会触发此事件。