内存画图,画完后显示不出来。为什么。帮帮看看下面的代码?
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);