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

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:13:17
我用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)

这是因为当你的窗体形状大小被改变时,窗体会被重新绘制,但你的这段代码没有被放在重绘函数里,所以图片就不见了。你可以把这段代码放到
“C应用程序::OnDraw”函数里再试一试,这个函数会在窗体发生改变时被自动调用!!
祝你成功!

请把这些描画程序放到OnDraw 或 OnPaint函数里。她俩在画面变化是被窗口自动调用,就解决了只画一次的问题。