首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

内存画图,画完后显示不出来。为什么。帮帮看看下面的代码?解决办法

2012-01-29 
内存画图,画完后显示不出来。为什么。帮帮看看下面的代码?CDCmemDCmemDC.CreateCompatibleDC(&dc)//声明一

内存画图,画完后显示不出来。为什么。帮帮看看下面的代码?
CDC       memDC;      
        memDC.CreateCompatibleDC(&dc);//声明一个内存模板;
       
if   (flag)  
{
HSlider_Scroll(&memDC,   &symbolEmf);//在内存中画图
}
              dc.BitBlt(12,12,   32,   32,&memDC,0,0,SRCCOPY);//把内存的图片复制到dc

但图片就是显示不出来但是我直接HSlider_Scroll(&dc,   &symbolEmf);就可以显示,就是图片会闪动。不知道为什么,请高手指点!

[解决办法]
因为没有画图的地方,所以你要有一个CBitmap作为memdc的绘制地方,然后SelectObject才能画的
[解决办法]
CDC *pDC = GetDC();
CDC dcMem;
CBitmap bmp;

dcMem.CreateCompatibleDC(pDC);
bmp.CreateCompatibleBitmap(pDC, m_rtFrame.Width(), m_rtFrame.Height());
CBitmap *pOldBmp = dcMem.SelectObject(&bmp);

DrawWholePic(&dcMem);
lMyBmp.LoadFromDC(&dcMem, m_rtFrame.Width(), m_rtFrame.Height());

dcMem.SelectObject(pOldBmp);
bmp.DeleteObject();
dcMem.DeleteDC();
ReleaseDC(pDC);

热点排行