在鼠标down和up的时候,我给xSrc,ySrc,nSrcWidth,nSrcHeight和ZoomScale赋值。
可是发现根本就放大不了啊!!!
CDTDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CDC* pmemDC;
CRect rcClient;
CBitmap bitmap;
CBitmap* pOldBitmap;
pmemDC = new CDC;
pmemDC->CreateCompatibleDC(pDC);
this->GetClientRect(&rcClient);
bitmap.CreateCompatibleBitmap(pDC,rcClient.Width(),rcClient.Height());
pOldBitmap = pmemDC->SelectObject(&bitmap);
pmemDC->FillSolidRect(0,0,rcClient.Width(),rcClient.Height(),RGB(255,255,255));
pmemDC->MoveTo(50,50);
pmemDC->LineTo(100,100);
if(ZoomScale>0)
{
pDC->StretchBlt(0,0,m_nMaxX,m_nMaxY,pmemDC,xSrc,ySrc,nSrcWidth,nSrcHeight,SRCCOPY);
}
pDC->SetStretchBltMode(COLORONCOLOR);
pDC->StretchBlt(0,0,rcClient.Width(),rcClient.Height(),pmemDC,0,0,rcClient.Width(),rcClient.Height(),SRCCOPY);
pmemDC->SelectObject(pOldBitmap);
if (pmemDC)
{
delete pmemDC;
pmemDC = NULL;
}
顺序反了。