为什么拷贝到屏幕上的图形,如果被挡住或者刷新屏幕,就会消失
编号:QA003297
建立日期: 2000年9月4日 最后修改日期:2000年9月4日
所属类别:
cobe:
操作系统: Win9x
编程工具: VB6
问题: 我拷贝图形到屏幕上,但如果被窗口挡住或者刷新屏幕,就会使该图形受损或者消失。如何能保持住这个图像?另:为什么RestoreDC不能恢复保存的屏幕?多谢。
水平: 中级
回答:
Windows并不会保存每个窗口中内容的像素图象,这主要是因为如果要保存所有像素(包括看不见的),会导致占用大量内存(你可以计算一下在24位真彩色情况下,一幅200*200的图象需要多少内存)。当出现因为被窗口挡住或者刷新屏幕而需要重新绘制图象时,它会向该窗口发送WM_PAINT消息(对应VB的Paint事件),而该程序应该绘制缺少的部分或整个图象。如果你说的屏幕是指桌面的话,那么是因为你没有根据WM_PAINT消息来绘制图象。而SaveDC并不内存图象,它只是保存DC的一些设置,所以RestoreDC也不能恢复图象。
此问题由李海回答。
| |
|
|
| |
|
|