MFC菜鸟 寻求位图操作!!!
我想在一个MFC单文档的客户区内显示一张图片,在OnDraw()里 写如下代码:
void CLoadBmpResView::OnDraw(CDC* pDC)
{
CLoadBmpResDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap Bmp;
Bmp.LoadBitmap(IDB_SHOW);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
memDC.SelectObject(&Bmp);
pDC->BitBlt(0,0,1000000,1000000,&memDC,0,0,SRCCOPY);
// TODO: add draw code for native data here
}
但是图片只能显示在右上角,不管怎么改变坐标都不能覆盖整个客户区,我现在就想使位图覆盖怎么客户区,应该怎么操作啊?由于初学,水平比较低,麻烦哪位大侠告之,最好有代码~~不胜感激!!!
[解决办法]
CBitmap Bmp;
Bmp.LoadBitmap(IDB_SHOW);
CRect rect;
GetClientRect(&rect);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = memDC.SelectObject(&Bmp);
int bmw, bmh ;
BITMAP bmap;
Bmp.GetBitmap(&bmap);
bmw = bmap.bmWidth;
bmh = bmap.bmHeight;
pDC->StretchBlt(0, 0, rect.Width(),
rect.Height(), &memDC,
0, 0,bmw,bmh, SRCCOPY);
dc.SelectObject(pOldBitmap);