一个很白痴的问题(MFC)。。

[复制链接]
查看11 | 回复2 | 2009-6-20 08:44:22 | 显示全部楼层 |阅读模式
我用MFC编写一个窗口时,用下面的方法让窗口显示图片,可只要把窗口最小化再打开,或者别的窗口覆盖到图片上面,我的图片就不见了(或者说变成了窗口的底色)。。求在窗口中保持图片显示的方法!
CBitmap b1;
b1.LoadBitmap();
CClientDC dc(this);
CDC cdc;
cdc.CreateCompatibleDC(&dc);
cdc.SelectObject(&b1);
dc.BitBlt(0,0,160,160,&cdc,0,0,SRCCOPY)

回复

使用道具 举报

千问 | 2009-6-20 08:44:22 | 显示全部楼层
这是因为当你的窗体形状大小被改变时,窗体会被重新绘制,但你的这段代码没有被放在重绘函数里,所以图片就不见了。你可以把这段代码放到“C应用程序::OnDraw”函数里再试一试,这个函数会在窗体发生改变时被自动调用!!祝你成功!...
回复

使用道具 举报

千问 | 2009-6-20 08:44:22 | 显示全部楼层
请把这些描画程序放到OnDraw 或 OnPaint函数里。她俩在画面变化是被窗口自动调用,就解决了只画一次的问题。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行