读书人

关于VC绘图的一个有关问题

发布时间: 2012-07-30 16:19:05 作者: rapoo

关于VC绘图的一个问题
我在VC中使用GDI+绘图时,遇到以下难题,当主对话框窗口移过程序的另外一个应用程序窗口时,应用程序窗口中的图片不能及时的刷新,会留下一点空白,如下图所示

这是没有移过窗口时的图


这是移过窗口时的图


以下是我绘图的代码

C/C++ code
    Image BackgroundPicture(m_strPicturePath);    Bitmap * buf=new Bitmap(recLedPlayWnd.Width(),recLedPlayWnd.Height());    Graphics graphics(buf);    Rect rectGraphics(0,0,recLedPlayWnd.Width(),recLedPlayWnd.Height());    graphics.DrawImage(&BackgroundPicture,rectGraphics);    Graphics gc(dc.m_hDC);    gc.DrawImage(buf,0,0);    delete buf;    gc.ReleaseHDC(dc.m_hDC);



求高人指教...

[解决办法]
OnEreasBkgnd处理了么
另外
桌面不错
[解决办法]
被侵袭的那个窗体,就是那个苹果。
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
return FALSE;

[解决办法]
去掉最后一句:
gc.ReleaseHDC(dc.m_hDC);//它是对应Graphics的GetHdc成员函数的
另外,你最后有没有那句CDialog::OnPaint();?
有的话,也去掉~~

[解决办法]
卡是因为你每次都Bitmap * buf=new Bitmap(recLedPlayWnd.Width(),recLedPlayWnd.Height());
当然卡,把它搞成成员变量或用GDI
[解决办法]
Image BackgroundPicture(m_strPicturePath);
这个对象不用每次绘图时都建立,做成成员变量可以提高效率。

读书人网 >VC/MFC

热点推荐