注册 登录
编程论坛 VC++/MFC

如何以图片作为背景

邵帅 发布于 2013-04-01 14:25, 622 次点击
自己继承cstatic写了一个类,实现的界面如下
只有本站会员才能查看附件,请 登录

上面的控件都是动态添加的。
想再加上一个图片作为背景,网上给的方法如下:
程序代码:

        CBitmap m_pBmp;
     BITMAP bm;
     CRect rect;
     GetClientRect(&rect);
     CDC dcMem;
     m_pBmp.LoadBitmap(IDB_BITMAP7);
     m_pBmp.GetBitmap(&bm);//μÃμ½Î»í¼3ß′ç
     dcMem.CreateCompatibleDC(pDC);
     CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp);
     pDC->SetStretchBltMode(COLORONCOLOR);//Õa¸öÄ£ê½2»éèÖÃμÄ»°»áμ¼ÖÂí¼Æ¬ÑÏÖØê§Õæ
     pDC->StretchBlt(0,0,rect.Width() ,rect.Height(),
      &dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
     dcMem.SelectObject(pOldBitmap);
     return TRUE;、

但结果却是背景一闪而过,然后就是和上面显示的一样了。
这是为什么?
1 回复
#2
hahayezhe2013-04-03 16:34
在OnPaint里 或者 背景回调里画吧
1