在MDI主窗口中设置图像背景
2015-10-09 11:08
435 查看
1.创建一个多文档应用程序,工程名为NoChild。
2.导入背景位图IDB_CAR
3.添加新的类CBgWnd。基类选择generic CWnd类。
4.重载CBgWnd类的OnEraseBkgnd(CDC *pDC)函数。
BOOL CBgWnd::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CDC memDc;
CBitmap bmp;
CRect clientRect;
BITMAP bitmap;
GetClientRect(&clientRect);
bmp.LoadBitmap(IDB_CAR);
bmp.GetObject(sizeof(BITMAP), &bitmap);
memDc.CreateCompatibleDC(pDC);
CBitmap *pOldBmp = memDc.SelectObject(&bmp);
pDC->StretchBlt(clientRect.left, clientRect.top, clientRect.Width(), clientRect.Height(), &memDc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
memDc.SelectObject(pOldBmp);
memDc.DeleteDC();
return TRUE;
//return CWnd::OnEraseBkgnd(pDC);
}
5.重载CBgWnd类的OnSize(UINT nType, int cx, int cy) 函数。
void CBgWnd::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
Invalidate();
}
6.在CMainFrame类中添加CBgWnd类型变量。
CBgWnd m_bgWnd;
7.在CMainFrame类OnCreate函数中添加
if (!m_bgWnd.SubclassWindow(m_hWndMDIClient))
{
return -1;
}
2.导入背景位图IDB_CAR
3.添加新的类CBgWnd。基类选择generic CWnd类。
4.重载CBgWnd类的OnEraseBkgnd(CDC *pDC)函数。
BOOL CBgWnd::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CDC memDc;
CBitmap bmp;
CRect clientRect;
BITMAP bitmap;
GetClientRect(&clientRect);
bmp.LoadBitmap(IDB_CAR);
bmp.GetObject(sizeof(BITMAP), &bitmap);
memDc.CreateCompatibleDC(pDC);
CBitmap *pOldBmp = memDc.SelectObject(&bmp);
pDC->StretchBlt(clientRect.left, clientRect.top, clientRect.Width(), clientRect.Height(), &memDc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
memDc.SelectObject(pOldBmp);
memDc.DeleteDC();
return TRUE;
//return CWnd::OnEraseBkgnd(pDC);
}
5.重载CBgWnd类的OnSize(UINT nType, int cx, int cy) 函数。
void CBgWnd::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
Invalidate();
}
6.在CMainFrame类中添加CBgWnd类型变量。
CBgWnd m_bgWnd;
7.在CMainFrame类OnCreate函数中添加
if (!m_bgWnd.SubclassWindow(m_hWndMDIClient))
{
return -1;
}
相关文章推荐
- HIVE函数
- 002-storm基本概念
- Jenkins系列之—16 Maven获取Jenkins的Subversion的版本号
- EXT.NET循环并且选中TreePanel的某些值
- 应用之星给单身狗带来了1000000000点伤害!
- 第五次作业
- 内存区划分
- gcc 嵌入式汇编(asm)实现bsr(位扫描)指令
- jQuery获取循环出来的DOM节点
- 身为一枚“亲友”,我参加了AH婚礼:如何在明星堆里刷存在感?
- 训练自己haar-like特征分类器并识别物体(3)
- 我的BIOS之行(2)-Aptio BIOS Overview
- 二级指针
- SetWindowPos && FindWindowA
- swift 自定义TabBarItem
- MongoDB(二)
- python3爬虫之入门基础和正则表达式
- DLL库的Def
- Xcode Build Search Paths设置
- 教你用PS给你的室友做一套动态微信豪华表情包