请问TPaintBox如何清除上面画的线?除了用FillRect以外 ( 积分: 50 )

  • 主题发起人 主题发起人 landfish2873
  • 开始时间 开始时间
L

landfish2873

Unregistered / Unconfirmed
GUEST, unregistred user!
我是有两张TPaintBox叠在一起,如果我用以下方法的话不可行!
因为它实际上是在上面覆盖一层白色的Rect,这样一来整个画面包括另一个TPaintBox上面画的东西也会被覆盖为白色。
PaintBox1.Canvas.Brush.Color := ClWhite;
PaintBox1.Canvas.FillRect(pb_PaintBox1.Canvas.ClipRect);
我希望达到的效果是叠在一起的两个TPaintBox,其中一个清除线条,另一个保持不变。
有没有什么办法? 谢谢!!
 
我是有两张TPaintBox叠在一起,如果我用以下方法的话不可行!
因为它实际上是在上面覆盖一层白色的Rect,这样一来整个画面包括另一个TPaintBox上面画的东西也会被覆盖为白色。
PaintBox1.Canvas.Brush.Color := ClWhite;
PaintBox1.Canvas.FillRect(pb_PaintBox1.Canvas.ClipRect);
我希望达到的效果是叠在一起的两个TPaintBox,其中一个清除线条,另一个保持不变。
有没有什么办法? 谢谢!!
 
好,帮顶



--------签名档---------------------------

比肩国内顶尖源码下载站点 -> 源码我爱你

http://www.source520.com
http://www.source520.net

80G源码电子书免费免注册下载,大量精辟技术文档库随时更新
******************************************************************
附:为了站点持续发展,现有本站近年来收藏的大量大型商业源码低价出售,
详情请进入以下链接查看:
http://www.source520.com/building_delphi.htm

浏览商业代码请从如下URL进入查看实物:
1.商业源码库1: ftp://source520see3:browse@61.152.199.245/
2.商业源码库2: ftp://source520see2:browse@61.152.199.245/
 
PaintBox1.Canvas.Brush.style:=bsClear
不知是否可以!
 
应该是创建两个Bitmap对象,其中上面一个Bitmap需要指定TransparentColor。
在Paint方法中,依次将这两个Bitmap画到Canvas上。
 
jifee能说得详细一点吗?Bitmap我没用过
 
Canvas.Pen.Mode := pmNotXor; //用背景色来画线的。
再重新画一次线,线就没了。
应该可以的。
 
后退
顶部