19,468
社区成员
发帖
与我相关
我的任务
分享
void Cdcmtkmfctest_02View::OnDraw(CDC* pDC)
{
Cdcmtkmfctest_02Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (! m_pDib->IsEmpty())
m_pDib->Display(pDC, 0, 0);
else
pDC->TextOutA(50,50,(CString)"pDoc Empty error");
// TODO: 在此处为本机数据添加绘制代码
}
BOOL CDib::Display(CDC * pDC, int x, int y, DWORD dwRop)
{
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBmp = MemDC.SelectObject(m_pBitmap);
CPalette* pOldPal = pDC->SelectPalette(m_pPalette, TRUE);
pDC->RealizePalette();
BOOL bSuccess = pDC->BitBlt(x, y,GetWidth(), GetHeight(),&MemDC,0, 0,dwRop);
MemDC.SelectObject(pOldBmp);
pDC->SelectPalette(pOldPal, TRUE);
return bSuccess;
}
void Cdcmtkmfctest_02View::OnDraw(CDC* pDC)
{
Cdcmtkmfctest_02Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rectClient;
CBitmap bitmapTemp, *pOldBitmap;
CDC* pMemDC = new CDC;
GetClientRect(rectClient);
bitmapTemp.CreateCompatibleBitmap(pDC, rectClient.Width(), rectClient.Height());
pMemDC->CreateCompatibleDC(pDC);
pOldBitmap = pMemDC->SelectObject(&bitmapTemp);
pMemDC->FillSolidRect(&rectClient, RGB(255, 255, 255));
if(!m_pDib->IsEmpty())
m_pDib->Display(pMemDC, 0, 0);
else
pMemDC->TextOutA(50, 50, (CString)"pDoc Empty error");
pDC->BitBlt(0, 0, rectClient.Width(), rectClient.Height(), pMemDC, 0, 0, SRCCOPY);
pMemDC->SelectObject(pOldBitmap);
ReleaseDC(pMemDC);
delete pMemDC;
}
void Cdcmtkmfctest_02View::OnDraw(CDC* pDC)
{
Cdcmtkmfctest_02Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rect;
GetClientRect(&rect);
if (! m_pDib->IsEmpty())
m_pDib->Display(pDC,rect);
// TODO: 在此处为本机数据添加绘制代码
}
BOOL CDib::Display(CDC* pDC,CRect rect, DWORD dwRop)
{
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
MemDC.FillSolidRect(rect,pDC->GetBkColor());
CBitmap* pOldBmp = MemDC.SelectObject(m_pBitmap);
CPalette* pOldPal = pDC->SelectPalette(m_pPalette, TRUE);
pDC->RealizePalette();
BOOL bSuccess = pDC->BitBlt(rect.left,rect.top,
rect.Width(), rect.Height(),&MemDC,0, 0,dwRop);
MemDC.SelectObject(pOldBmp);
pDC->SelectPalette(pOldPal, TRUE);
return bSuccess;
}