在对话框的OnPaint() 函数中添加代码:
以本人的代码为例:
//Graphics graphics
//graphics.DrawImage方法使用
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//第一种画图的方法graphics.DrawImage拉伸图片
CRect rect;
GetClientRect(&rect);
Graphics graphics(dc.m_hDC);
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
graphics.DrawImage(&background,0,0,rect.Width(),rect.Height());
CDialog::OnPaint();
}
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
//第二种画图的方法BitBlt原始图片
CRect rc;
CDC MemDC;
CBitmap cbitmap;
CBitmap* pOldBmp = NULL;
HBITMAP hBitmap;
CDC * pDC = GetDC();
// Bitmap To HBITMAP
// HBITMAP To CBitmap *
background.GetHBITMAP(Color(0,0,0),&hBitmap); // Bitmap To HBITMAP
CBitmap* cBitmap = CBitmap::FromHandle(hBitmap); // HBITMAP To CBitmap *
//显示图片
MemDC.CreateCompatibleDC(pDC);
pOldBmp = MemDC.SelectObject(cBitmap);
GetClientRect(&rc);
dc.BitBlt(0, 0, rect.Width(),rect.Height(), &MemDC, 0, 0, SRCCOPY);
//releaseDC
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
cBitmap->DeleteObject();
CDialog::OnPaint();
}
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
//第三种画图的方法StretchBlt平铺图片
CRect rc;
CDC MemDC;
CBitmap cbitmap;
CBitmap* pOldBmp = NULL;
HBITMAP hBitmap;
CDC * pDC = GetDC();
// Bitmap To HBITMAP
// HBITMAP To CBitmap *
background.GetHBITMAP(Color(0,0,0),&hBitmap); // Bitmap To HBITMAP
CBitmap* cBitmap = CBitmap::FromHandle(hBitmap);// HBITMAP To CBitmap *
//显示图片
MemDC.CreateCompatibleDC(pDC);
pOldBmp = MemDC.SelectObject(cBitmap);
GetClientRect(&rc);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,background.GetWidth(), background.GetHeight(), SRCCOPY);
//releaseDC
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
cBitmap->DeleteObject();
CDialog::OnPaint();
}