关于VC画图最大化 或者最小化窗口的时候图像消失

我做了一个VC画图的程序,我画完图后,最大化窗口或者最小化窗口图像就会消失,还有如果有消息框弹出的话,消息框覆盖的区域图像也会消失,我该如何消除并让图像实时显示呢?... 我做了一个VC画图的程序,我画完图后,最大化窗口或者最小化窗口 图像就会消失,还有 如果有消息框弹出的话,消息框覆盖的区域图像也会消失,
我该如何消除并让图像实时显示呢?
展开
 我来答
qiujiejia
2009-09-28 · TA获得超过500个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:249万
展开全部
你好,希望我的答复对你有帮助。

1.我做了个示例工程(VC6下编译通过),下载地址:http://sites.google.com/site/qiujiejia1/Home/Draw_Bitmap.zip

2.以下是工程里的部分代码,仅供参考

(1)添加成员变量: HBITMAP bitmap;
(2) 在OnInitDialog()里初始化 bitmap
bitmap=(HBITMAP)LoadImage(NULL, //应用程序实例
"无上甚深微妙法.bmp", //路径
IMAGE_BITMAP,
0, //如果不置0,则此参数指定bitmap的宽(位图被拉伸)
0, //如果不置0,则此参数指定bitmap的高(位图被拉伸)
LR_LOADFROMFILE|LR_CREATEDIBSECTION|LR_DEFAULTSIZE);

(3)在OnPaint() 里添加绘图代码

CPaintDC dc(this); // device context for painting

HDC hMemDC=CreateCompatibleDC(dc.m_hDC); //创建内存DC
::SelectObject(hMemDC,bitmap); //把位图选进内存DC
BitBlt(dc.m_hDC,0,0,200,400,hMemDC,0,0,SRCCOPY); //内存DC映射到屏幕DC
::DeleteDC(hMemDC) ; //删除内存DC
可爱的偏翩
2009-09-27 · TA获得超过119个赞
知道答主
回答量:132
采纳率:0%
帮助的人:87万
展开全部
最大化、最小化和对话框弹出来的时候都发出Invalidate指令就让那个地区的图画重绘,从而调用OnDraw()。你可以利用CPtrArray这个类,将画好的图形保存,在OnDraw()中进行显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1e944cd
2009-09-27 · TA获得超过989个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:317万
展开全部
最大化、最小化以及对话框弹出都会发送Invalidate()引起窗口重绘,从而调用OnDraw()。你可以利用CPtrArray这个类,将画好的图形保存,在OnDraw()中进行显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老牛带你看奇闻
2009-09-27 · TA获得超过863个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:778万
展开全部
把你画图的代码放到OnPaint函数中,就不会消失了.如果有问题HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式