单文档应用程序,在OnDraw函数中添加如下代码:void CBmpView::OnDraw(CDC* pDC)
{
CBmpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
HBITMAP bitmap,oldBitmap;
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),"123.bmp",IMAGE_BITMAP,
0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION );
CDC MemDC;
MemDC.CreateCompatibleDC(pDC); oldBitmap=(HBITMAP)MemDC.SelectObject(&bitmap); CRect rect;
GetClientRect(&rect);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY); MemDC.SelectObject(&oldBitmap);
}
程序没有错误,可是就是没有显示,不知道为什么?
哪位帮我看看,程序很简单的呀!
{
CBmpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
HBITMAP bitmap,oldBitmap;
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),"123.bmp",IMAGE_BITMAP,
0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION );
CDC MemDC;
MemDC.CreateCompatibleDC(pDC); oldBitmap=(HBITMAP)MemDC.SelectObject(&bitmap); CRect rect;
GetClientRect(&rect);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY); MemDC.SelectObject(&oldBitmap);
}
程序没有错误,可是就是没有显示,不知道为什么?
哪位帮我看看,程序很简单的呀!
如果为空,去掉 | LR_CREATEDIBSECTION 试试看
另外,加载123.bmp,最好使用完整的绝对路径,如C:\123.bmp
...
SelectObject(MemDC.m_hDC, oldBitmap);
都已成功,返回值不为0.
使用完整路径也不行呀,试着去掉 | LR_CREATEDIBSECTION ,还是不行好奇怪