关于将View的内容保存为位图
我们想实现将一个视图内的内容以bitmap的形式存储起来
void MyView::InitView()
{
...
//创建一个CBitmap对象:m_bitmap 及内存DC:m_memDC
CDC *pDC = GetDC();
m_bitmap.CreateCompatibleBitmap(pDC, 600 ,800);
m_memDC.CreateCompatibleDC(pDC);
m_pOldbmp = m_memDC.SelectObject(&m_bitmap);
...
}
void MyView::OnPaint()
{
CPaintDC dc(this);
// Draw something on dc
//将dc的内容传到m_memDC中
m_memDC.BitBlt(
20,
20,
600,
800,
&dc,
0,0,SRCCOPY
);
}
但我们得到的m_bitmap,并不是只有视图内的内容,它将屏幕的内容也拷贝了进来,比如,
其他窗口的一部分。感觉不像视图内容的拷贝,而是整个windows窗口的拷贝。