更改 Paintbox 大小和图形问题
Changing Paintbox size and graphics problem
每当我更改颜料盒的大小时,颜料盒只会自行清除,不会在同一过程中添加任何图形。
这就是我想要做的(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 分配给另一个程序并随后使用另一个按钮执行它时才起作用。
有什么解决办法吗?
只要 Windows 需要,屏幕上的图形就会重新绘制。 Windows 消息系统在需要完成绘制时向 window 句柄发送一条 WM_PAINT
消息。在 Delphi 中,在大多数情况下,尤其是 TPaintBox
,这意味着实现 OnPaint
事件处理程序。每次 Windows 需要您绘画时都会触发此事件。
每当我更改颜料盒的大小时,颜料盒只会自行清除,不会在同一过程中添加任何图形。
这就是我想要做的(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 分配给另一个程序并随后使用另一个按钮执行它时才起作用。
有什么解决办法吗?
只要 Windows 需要,屏幕上的图形就会重新绘制。 Windows 消息系统在需要完成绘制时向 window 句柄发送一条 WM_PAINT
消息。在 Delphi 中,在大多数情况下,尤其是 TPaintBox
,这意味着实现 OnPaint
事件处理程序。每次 Windows 需要您绘画时都会触发此事件。