我用delphi canvas画图,当显示图的窗口不是活动窗口的时候,画的图就消失。比如说我运行程序之后,弹出我画图的窗口,然后去点别的东西,比如说浏览器什么的,回来再看我画图的窗口,,里面就是白的,什么都没有了。怎么回事呢。
delphi
------解决方案--------------------------------------------------------
因为窗口重绘了
------解决方案--------------------------------------------------------
放到OnPaint事件中
------解决方案--------------------------------------------------------
将变量改为全局变量
------解决方案--------------------------------------------------------
窗口重绘时画布上自己画的东西会丢
------解决方案--------------------------------------------------------
建议在image或者paintbox里绘图。我现在正在做啊。
要不,就把重绘(invalidate)给取消。
------解决方案--------------------------------------------------------
不写这句代码就是了。然后一定要再form的onpaint里写代码。
------解决方案--------------------------------------------------------
直接在窗口上画么?建议用TIMAGE上画吧,不过会闪烁。如果一定要再窗口上画的话,在OnDeactive 里面将画的东西保存到内存,在OnActive里面重内存读取!