关于重画问题(50分)

  • 主题发起人 主题发起人 delnut
  • 开始时间 开始时间
D

delnut

Unregistered / Unconfirmed
GUEST, unregistred user!
当窗口移动或者有新窗口打开时,canvas会被覆盖,怎样使图画保持原样?请大家赐教。
 
将重画的代码写在form的onpaint事件中
 
是的,在OnPaint里写上画图事件就可以
如果是直线,再好把始终点坐标保存在数据里更好。
 
第一次画完了之后保存到流里,再重新读入到画布里不就行了吗
 
还有一个问题,我画的是波形,是在opendialog中选择的wav文件。我是生成了bitmap,再copy到paintbox的canvas上的。但是还没有等opendialog关闭就画上了,造成图形有缺失,能解决这个问题吗?

 
OpenDialog没有关闭时,你怎么得到的文件名呢
 
是这样的,我用mmioOpen(opendialog.filename...)得到文件的句柄,再处理。但画上时确实canvas上少一块。
 
你把bitmap放到一个TBitmap对象中,然后在PaintBox的OnPaint事件中把bitmap贴上去即可。否则你画的东西都是临时的,只要有个窗口一覆盖,就没了。
 
学习一下
 
谢谢,对了。
 
后退
顶部