回 帖 发 新 帖 刷新版面

主题:怎么在窗口中显示一个BMP图片?

怎么在窗口中显示一个BMP图片?
要显示的图片在该工作目录的文件夹中

小弟初学API,很多不知道,请达人指点一下,谢谢。

回复列表 (共5个回复)

沙发

看GDI+部分.
用DrawImage就可以了.

板凳

CDC memDC;
memDC.CreateCompatibleDC(pDC);

CBitmap bmp;
bmp.LoadBitmap(IDB_BMP_WELCOME);
BITMAP bm;
bmp.GetBitmap(&bm);
    
memDC.SelectObject(&bmp);
    pDC->StretchBlt(0,0,m_rect.Width()*2/5,m_rect.Height(),&memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
或者用BitBlt也可以

3 楼

我试试
谢谢

4 楼

HDC hmemDC ,hdc;
HBITMAP hBitmap;
BITMAP bm;

hdc=GetDC(hwnd);
hmemDC=CreateCompatibleDC(hdc);//创建一个内存DC(可兼容的内存DC)
hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1));//加载位图资源
GetObject(hBitmap,sizeof(BITMAP),&bm);  //获取位图的信息
SelectObject(hmemDC,hbitmap);//将位图选入内存设备环境
BitBlt(hdc,0,0,bm.nWidth,bm.nHeight,0,0,SRCCOPY);//显示
ReleaseDC(hwnd,hdc);//释放DC
DeleteObject(hmemDC);

5 楼


显示出来了
谢谢指点

我来回复

您尚未登录,请登录后再回复。点此登录或注册