void CListMemberWnd::OnPaint()
{
CPaintDC dc(this);
CRect rect;
this->GetClientRect(&rect);
CDC* pDCMem = new CDC;
pDCMem->CreateCompatibleDC( &dc );
pDCMem->TextOut(0,0, "abc");
pDCMem->Draw3dRect( rect, RGB(0,0,0), RGB(0,0,0) );
dc.BitBlt( 0, 0, rect.Width(), rect.Height(), pDCMem, 0, 0, SRCCOPY );
}
很简单的函数,可是什么都没法显示,请问为什么?谢谢!
{
CPaintDC dc(this);
CRect rect;
this->GetClientRect(&rect);
CDC* pDCMem = new CDC;
pDCMem->CreateCompatibleDC( &dc );
pDCMem->TextOut(0,0, "abc");
pDCMem->Draw3dRect( rect, RGB(0,0,0), RGB(0,0,0) );
dc.BitBlt( 0, 0, rect.Width(), rect.Height(), pDCMem, 0, 0, SRCCOPY );
}
很简单的函数,可是什么都没法显示,请问为什么?谢谢!
pDCMem->Draw3dRect( rect, RGB(0,0,0), RGB(0,0,0) );
pDCMem->TextOut(0,0, "abc");
CBitmap bmp;
bmp.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height());
CBitmap* pold = pDCMem->SelectObject(&bmp);
建议后面加上
pDCMem->SelectObject(pold);
pDCMem->DeleteDC();
delete pDCMem;
pDCMem->CreateCompatibleDC( &dc );
CBitmap *pBitmap = new CBitmap;
CBitmap *pOldBmp;
pBitmap->CreateCompatibleBitmap(pDCMem,...);
pOldBmp = pDCMem->SelectObject(pBitmap);