热情软件屋

 

为什么拷贝到屏幕上的图形,如果被挡住或者刷新屏幕,就会消失


编号:QA003297
建立日期: 2000年9月4日 最后修改日期:2000年9月4日
所属类别:

cobe:
    操作系统: Win9x
    编程工具: VB6
    问题: 我拷贝图形到屏幕上,但如果被窗口挡住或者刷新屏幕,就会使该图形受损或者消失。如何能保持住这个图像?另:为什么RestoreDC不能恢复保存的屏幕?多谢。
    水平: 中级

回答:

    Windows并不会保存每个窗口中内容的像素图象,这主要是因为如果要保存所有像素(包括看不见的),会导致占用大量内存(你可以计算一下在24位真彩色情况下,一幅200*200的图象需要多少内存)。当出现因为被窗口挡住或者刷新屏幕而需要重新绘制图象时,它会向该窗口发送WM_PAINT消息(对应VB的Paint事件),而该程序应该绘制缺少的部分或整个图象。如果你说的屏幕是指桌面的话,那么是因为你没有根据WM_PAINT消息来绘制图象。而SaveDC并不内存图象,它只是保存DC的一些设置,所以RestoreDC也不能恢复图象。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio