在基于对话框的工程中,使用图片控件,并平铺整个对话框大小
图片控件申明和静态文本框一样
放在初始化函数OnInitDialog中
CRect rt_this;
GetWindowRect(&rt_this);
CRect rc;
GetDlgItem(IDC_STATIC10)->GetClientRect(&rc);
CDC* pdcpic = GetDlgItem(IDC_STATIC10)->GetDC();
CBitmap bitmap1;
bitmap1.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是要加载的位图的ID
BITMAP bmp1;
bitmap1.GetBitmap(&bmp1);
CDC memdc;
memdc.CreateCompatibleDC(pdcpic);
memdc.SelectObject(&bitmap1);
CDC ppdc;
ppdc.CreateCompatibleDC(pdcpic);
CBitmap bmpbuf; //bmpbuf是要放入控件中的位图
bmpbuf.CreateCompatibleBitmap(pdcpic, rt_desk.Width(), rt_desk.Height());
ppdc.SelectObject(&bmpbuf);
ppdc.StretchBlt(0, 0, rt_this.Width()+2, rt_this.Height(), &memdc, 0, 0, rc.Width(), rc.Height(), SRCCOPY); //将IDB_BITMAP1复制到bmpbuf位图中,并按指定的大小转换
m_static10.SetBitmap((HBITMAP)bmpbuf.Detach());
m_static10.ReleaseDC(pdcpic);
memdc.DeleteDC();
ppdc.DeleteDC();
PS:关于图片控件error RC2108: expected numerical dialog constant的解决办法:https://blog.csdn.net/bigtree_mfc/article/details/97110033