form的canvas问题(50分)

B

btv6

Unregistered / Unconfirmed
GUEST, unregistred user!
在form的canvas上画图之后如何清除所画的内容呢?
前提是我不要用在canvas上再画矩形覆盖原来所画图形的方法。
 
Self.Repaint;
 
canvas.brush.style:=bsClear;
canvas.fillrect(ClientRect);
 
xiaoywh所言极是
 
问题是我的窗体是透明的啊,在透明form的canvas上画图之后如何清除所画的内容呢?
 
灌水,提供一下思路:
如果动态创建Form呢?实在不行,如果想清除的话,就把Form给Free掉。
 
To: btv6你问的问题,真的和你现在说的是两回事,以后可要注意哟!

可以拦截Wm_paint消息,然后使用GetUpdateRect取得要刷新的区域


 
先将透明背景图保存在内存中新建的位图对象中,清除时将该位图重画回来.
 
多人接受答案了。
 
顶部