我想要清除TPaintBox
。但我仍然需要透明度,因此不可能绘制矩形。我该如何清除它?
答案 0 :(得分:1)
请注意,TPaintBox
没有透明的概念。为了给人一种透明感,你可以防止在你要透过的区域进行绘画(显示TPaintBox
背后的内容)。
在下面的示例中,我有TImage
的风景图片。最重要的是,有一个TPaintBox
画出红线的十字。使用Button1
我切换boolean
标记(TimeToClear
)并致电PaintBox1.Invalidate;
OnPaint
方法:
procedure TForm26.PaintBox1Paint(Sender: TObject);
begin
// Simply exit to prevent any painting;
if TimeToClear then Exit;
// Otherwise perform normal drawing
with (Sender as TPaintBox).Canvas do
begin
Pen.Style := psSolid;
Pen.Color := Vcl.Graphics.clRed;
Pen.Width := 5;
MoveTo( 0, 0);
LineTo(105,105);
MoveTo(105, 0);
LineTo( 0,105);
end;
end;