为什么我用Form.Canvas.LineTo(x,y)画的图线会消失?(20分)

  • 主题发起人 主题发起人 chen202
  • 开始时间 开始时间
C

chen202

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Form.Canvas.LineTo(x,y)画的图线,当我右键激活菜单,菜单遮住了线条的一部分,
当我关闭弹出菜单时,发现原先被弹出菜单盖住的线条消失了,该如何纠正?
 
窗口的Canvas不会保存你画的线条, 你需要用TBitmap做一个缓冲, 并在窗口的Paint事件将缓冲画于窗口上。
 
建议画图使用image,这样就不会出现这样的问题
 
在FormPaint中画就不会了。
 
在OnPaint事件做就不会了,不然你在改变窗体或隐藏与显示的转变的大小窗体要重刷
 
在OnPaint事件做就不会了
 
用image
在onpaint中画会出现闪屏的现象
 
对于闪屏,可以将image的stretch属性设为true即可
 
对于闪屏也可以:Image的父容器.doublebuffered := true 。比如,我的Image的父容器是form1,那么,代码就是: form1.doublebuffered := true 。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
838
SUNSTONE的Delphi笔记
S
S
回复
0
查看
799
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
458
import
I
后退
顶部