在VS2013环境下MFC学习:给对话框添加背景图片
2016-12-18 21:27
429 查看
步骤1 添加资源
先右击工程名.rc(我的是PlaneDiag_Demo_MFC),再点击“添加资源”步骤2 导入BMP图像
进入“添加资源”界面后,点击资源类型中的“Bitmap”,再点击“导入”点击“导入”后,进入下述界面,根据你所要添加的图像,选取路径,
注意,这里要将图像属性格式设置为“所有文件(*.*)”,才可以看到你所要添加的图像格式(注意是.bmp格式的图像)
选取好图像后,点击“打开”,即完成图像加载工作。
上述步骤完成后,项目会自动生成Bitmap文件夹,里面有个IDB_BITAMP1,这个是默认添加图像的ID号
步骤3 添加函数
点击选中整个对话框,点击右键,选择“类向导”进入“类向导”界面,注意“项目(P)“、”类型(N)“,不用修改;
点击消息框,选择”WM_CTLCOLOR“,再点击”确定“即可
完成上述步骤后,生成ONCtlColor函数
接下来,需要在函数中添加下述代码:
HBRUSH CPlaneDiag_Demo_MFCDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 static CBrush gBr; static bool isInited = false; if (!isInited) { CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); gBr.CreatePatternBrush(&bitmap); COLORREF clearColor = -1; bitmap.DeleteObject(); isInited = true; } if (pWnd == this) { pDC->SetBkMode(TRANSPARENT); return gBr; //主窗口背景使用这个背景刷 } else { pDC->SetBkMode(TRANSPARENT); return (HBRUSH)::GetStockObject(NULL_BRUSH); //其他控件使用透明背景 } // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; }
步骤4 大功告成
依次完成上述三个步骤,即可看到下述效果,表示你已经完成了对MFC对话框添加背景图片的任务
备注
上述虽然完成了对MFC对话框添加背景图片的任务,但细心的童鞋发现在对话框最大化和最小化时,背景图像并不能智能化改变其尺寸,即不同步,这点童鞋可以自行网上查找资料解决,如果有好的解决方法,还请大方分享~加油
相关文章推荐
- VS2013MFC单文档工程学习笔记八 - 为窗口添加一张背景图片
- vs2013环境下mfc里添加浮动窗口并贴上对话框
- VS2013MFC对话框工程学习笔记四 - 为按钮添加一个响应事件二
- VS2013MFC对话框工程学习笔记三 - 添加一个MFC类库的按钮响应事件
- MFC对话框添加背景图片
- 如何在MFC对话框中添加背景图片
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC 为对话框添加背景图片并以图片大小显示
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- VC++2005mfc对话框添加背景图片
- 学习笔记之MFC添加背景图片
- MFC对话框添加背景图片
- MFC 对话框添加背景图片
- 如何在MFC对话框中添加背景图片
- MFC 对话框添加背景图片
- MFC中 给对话框添加背景图片
- 如何给MFC对话框添加背景图片 .