mfc窗口添加背景图片
2014-10-16 16:08
274 查看
1、把你的图包含到程序的“Bitmap资源”里,提示说该资源使
![](http://img.baidu.com/img/iknow/qb/select-search.png)
用了大于256色的调色板,在VC里无法编辑等等,点确定就可以 。如果没有Bitmap的话,可以再XXX.rc文件右击选择“添加资源” -> 选中BitMap,在右边选择新建即可。如果有的Bitmap的话。右击bitmap选择“添加资源”
-> 然后选择“导入” -> 选择你要导入的图片即可。
要改变图片的属性时,可以选中该图片,单击时可以修改ID等,而双击则可以修改其它相关属性。
2、定位到 void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码
else
{
//CDialog::OnPaint();//要禁止这个调用
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP);
//IDB_BITMAP是你自己的图对应的ID
CRect wndRt;
this->GetClientRect(&wndRt);
dc.SetStretchBltMode(HALFTONE); //设置拉伸模式后,肯定可以解决失真的现象,没解决说明这个函数
//IDB_BITMAP是你自己的图对应的ID
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
如果窗口没有onpaint函数,可以如下设置
.h文件 //子窗口的头文件
afx_msg void OnPaint(...) //要添加的函数
.cpp文件 //子窗口的源文件
BEGIN_MSG_MAP(..) //设置的消息映射
WM_PAINT()
END_MSG_MAP()
void OnPaint()
{
}
对于消息处理函数必须自己做相应的消息映射,当然如果OnPaint正好是个虚函数的话那你的编写就没有问题,比如添加OnToolHitTest
![](http://img.baidu.com/img/iknow/qb/select-search.png)
用了大于256色的调色板,在VC里无法编辑等等,点确定就可以 。如果没有Bitmap的话,可以再XXX.rc文件右击选择“添加资源” -> 选中BitMap,在右边选择新建即可。如果有的Bitmap的话。右击bitmap选择“添加资源”
-> 然后选择“导入” -> 选择你要导入的图片即可。
要改变图片的属性时,可以选中该图片,单击时可以修改ID等,而双击则可以修改其它相关属性。
2、定位到 void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码
else
{
//CDialog::OnPaint();//要禁止这个调用
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP);
//IDB_BITMAP是你自己的图对应的ID
CRect wndRt;
this->GetClientRect(&wndRt);
dc.SetStretchBltMode(HALFTONE); //设置拉伸模式后,肯定可以解决失真的现象,没解决说明这个函数
//IDB_BITMAP是你自己的图对应的ID
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
如果窗口没有onpaint函数,可以如下设置
.h文件 //子窗口的头文件
afx_msg void OnPaint(...) //要添加的函数
.cpp文件 //子窗口的源文件
BEGIN_MSG_MAP(..) //设置的消息映射
WM_PAINT()
END_MSG_MAP()
void OnPaint()
{
}
对于消息处理函数必须自己做相应的消息映射,当然如果OnPaint正好是个虚函数的话那你的编写就没有问题,比如添加OnToolHitTest
相关文章推荐
- mfc窗口添加背景图片
- 在MFC单文档窗口中添加背景图片
- MFC 窗口Dialog 添加背景图片
- VS2013MFC单文档工程学习笔记八 - 为窗口添加一张背景图片
- MFC单文档之给主窗口添加背景图片
- mfc主窗口添加背景图片后,如何实现在背景图片上输出文字
- 在MFC单文档窗口中添加背景图片
- MFC添加背景图片方法
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC如何在单文档下添加背景图片
- VC++学习笔记2--------------如何给MFC对话框添加背景图片
- 漂亮界面-给窗口添加背景图片
- MFC对话框控件和背景图片自适应窗口最大化和拉伸缩放的实现
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC 对话框添加背景图片
- [转]MFC 对话框添加背景图片
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- VC++2005mfc对话框添加背景图片
- VC++2005mfc对话框添加背景图片
- 如何在MFC对话框中添加背景图片