填充背景的三种方法
来源:互联网 发布:连云港网络远程教育 编辑:程序博客网 时间:2024/04/29 11:30
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 背景填充位图的几种方法
- VC 背景填充位图的几种方法
- VC 背景填充位图的几种方法
- 背景减除是运动目标检测的常用方法,写出三种背景减除方法。
- Flex 设置容器背景的三种方法
- 在对话框中设置背景的三种方法
- 在对话框中设置背景的三种方法 .
- 在对话框中设置背景的三种方法 .
- Android设置布局背景为白色的三种方法
- android实现背景平铺的三种方法
- android实现背景平铺的三种方法
- 自定义圆形ProgressBar背景的三种方法
- Android设置布局背景为白色的三种方法
- Android设置布局背景为白色的三种方法
- Android设置布局背景为白色的三种方法
- android实现背景平铺的三种方法
- 设置透明背景效果的三种方法
- SQLSERVER T_SQL使用总结
- 软件中的易用性设计及测试(三)之实践
- 随笔
- 年度总结注意事项
- 读书笔记 《深度探索c++对象模型》 (4)
- 填充背景的三种方法
- Zstack中如何实现自己的任务
- 如何用快手得到本机硬盘的序列号
- mysql 复制之初体验
- word文档中怎样在方框中打钩
- 要找工科男朋友的N个理由
- 给大学生的15条忠告
- 汇编语言 四则运算
- IAR常见错误列表