前言
这种方法添加的图片不会随窗口大小的变化而变化,且添加图片的窗口上不能有其他控件,这个方法比较鸡肋,后续会给出实用点的方法,不过该方法能让你了解MFC添加bmp图及相关设置
准备
首先要明确,本次使用的是256色bmp图,如果你有喜欢的图,可以通过windows的画图另存为功能存为256色bmp图
添加图片
首先把你的图片保存到项目的res文件夹下
然后打开项目的资源视图,右击添加资源
选择bitmap--->导入
到你的res中选择256色bmp
至此你的图片就添加到项目中了
设置消息
打开类视图,选择你要添加背景的窗口类,在右边的属性中选择
添加成员函数
在需要添加背景的头文件中添加本次需要使用的变量
public:
CBitmap m_bmp; //位图
CBrush m_brush; //画刷
完善消息函数
在刚刚添加的消息中写实现代码
HBRUSH C设置界面背景Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
//添加背景图片
m_bmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1)); //这里将位图加载进资源后,再Load
m_brush.CreatePatternBrush(&m_bmp);
if (nCtlColor == CTLCOLOR_DLG)
{
return m_brush;
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
注:IDB_BITMAP1是你添加图片的ID,默认状态下,第一张是IDB_BITMAP1,第二张是IDB_BITMAP2,以此类推