VC 背景填充位图的几种方法

原创 2007年09月30日 15:34:00
IDB_BG 是位图资源的ID

 

方法一
OnEraseBkgnd(CDC* pDC) 
{
 // 设置画刷为希望的背景
 CDC backBmp;               
 backBmp.CreateCompatibleDC(pDC);
 CBitmap bitmap;
 bitmap.LoadBitmap(IDB_BG);
 CBrush m_brushBackground;
 m_brushBackground.CreatePatternBrush(&bitmap);    ///创建位图画刷
 CBrush* pOldMemDCBrush=pDC->SelectObject(&m_brushBackground); 
 pDC->PatBlt(0,0,m_ScrollRect.Width(),m_ScrollRect.Height(),PATCOPY);
 pDC->SelectObject(pOldMemDCBrush);
 return TRUE;
}


方法二
OnEraseBkgnd(CDC* pDC) 
{
 CBitmap m_pMap;
 m_pMap.LoadBitmap(IDB_BG);
 CRect rect;
 GetClientRect(&rect); 
 BITMAP bm;
 CDC dcMem;
 m_pMap.GetObject(sizeof(BITMAP),&bm);
 dcMem.CreateCompatibleDC(pDC); 
 CBitmap* pOldBitmap = dcMem.SelectObject(&m_pMap);
 for (register int nX=0;nX<rect.right-rect.left;nX+=bm.bmWidth)
  for(int nY=0;nY<rect.bottom-rect.top;nY+=bm.bmHeight)
 pDC->BitBlt(nX,nY,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
 dcMem.SelectObject(pOldBitmap); 
 return TRUE;
}

方法三
OnEraseBkgnd(CDC* pDC) 
{
 CBitmap bmp;
 bmp.LoadBitmap(IDB_BG); ///加载位图
 CBrush m_brushBackground;
 m_brushBackground.CreatePatternBrush(&bmp);    ///创建位图画刷
 CRect rect;
 GetClientRect(&rect); 
 pDC->FillRect(rect,&m_brushBackground); //用背景画填充区域
 return TRUE;
}

 
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

VC下显示位图的几种方法

转自:http://blog.csdn.net/xyshu/archive/2008/08/20/2802162.aspx----一、BMP文件结构 ---- 1. BMP文件组成 ---- BMP文...

VC下显示位图的几种方法

转自:http://blog.csdn.net/xyshu/archive/2008/08/20/2802162.aspx----一、BMP文件结构 ---- 1. BMP文件组成 ---- BMP文...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

VC对话框使用OnEraseBkgnd函数位图背景并透明

1、使用OnEraseBkgnd函数实现对话框位图背景 BOOL CDisplayBmpBackGroundDlg::OnEraseBkgnd(CDC   *pDC)   //增加擦除背景函数 {...

VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)及对话框使用位图背景并透明

转自:http://blog.csdn.net/zpp100/article/details/6011655 1、首先,为了下面使用擦除背景的方便,先增加OnEraseBkg...

VC中实现带有背景位图的树型控件

http://tech.163.com/06/0120/10/27TD3U7J00091LRC.html当前许多应用程序都在使用树型控件时为其添加了背景位图,增强的控件的魅力,然而对于Visual C...

VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)及对话框使用位图背景并透明

1、首先,为了下面使用擦除背景的方便,先增加OnEraseBkgnd函数(WM_ERASEBKGND ),但好多新手都不知道对话框在那里找增加这个函数,来跟我来快捷键Ctrl+W打开ClassWiza...

ppt以位图粘贴图片的几种方法:vba、autohotkey

vba: Sub tt() 'CommandBars("Menu Bar").FindControl(Id:=109, Visible:=True, Recursive:=True).Execute ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)