void CMyDlg::OnButton1()
{
CRect rc;
this->GetWindowRect(&rc);
CDC* pDC=GetDC();
CDC menudc;
CBitmap *olddc;
CBitmap btmap;
btmap.LoadBitmap("\\2.bmp");
menudc.CreateCompatibleDC(pDC);
olddc=menudc.SelectObject(&btmap);
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&menudc,0,0,SRCCOPY);
if(olddc)
{
menudc.SelectObject(olddc);
}
UpdateData(false);
}麻烦各位给看看,位图为什么不能显示???、
{
CRect rc;
this->GetWindowRect(&rc);
CDC* pDC=GetDC();
CDC menudc;
CBitmap *olddc;
CBitmap btmap;
btmap.LoadBitmap("\\2.bmp");
menudc.CreateCompatibleDC(pDC);
olddc=menudc.SelectObject(&btmap);
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&menudc,0,0,SRCCOPY);
if(olddc)
{
menudc.SelectObject(olddc);
}
UpdateData(false);
}麻烦各位给看看,位图为什么不能显示???、
GetWindowRect(&rc);
CDC* pDC=GetDC();
CDC menudc;
CBitmap *olddc;
CBitmap btmap; HBITMAP hBmp = (HBITMAP)LoadImage(NULL, "2.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
btmap.Attach(hBmp); menudc.CreateCompatibleDC(pDC);
olddc = menudc.SelectObject(&btmap);
pDC->BitBlt(0, 0, rc.Width(), rc.Height(), &menudc, 0, 0, SRCCOPY);
menudc.SelectObject(olddc);
menudc.DeleteDC();
btmap.DeleteObject();
ReleaseDC(pDC);
========
如果这里的2.bmp是一个文件的话,那么肯定不行,因为LoadBitmap只能加载资源,如果要加载文件,用LoadImage。
图像加载到对话框了,可是我移动对话框后到屏幕的四周,图片就会被覆盖掉,什么原因?是没有涮洗吗?
使用LoadBitmap(),加载资源,你需要将图片,先转换为资源,然后加载该资源
btmap.LoadBitmap("\\2.bmp");
========
如果这里的2.bmp是一个文件的话,那么肯定不行,因为LoadBitmap只能加载资源,如果要加载文件,用LoadImage。
正解