MFC中为对话框添加背景图片与改变字体

一、创建一个空的基于对话框的项目
二、添加背景Bitmap资源
1、在添加资源时,将需要添加的背景图片放置在工程文件res文件夹中,最好是用的是24位的BMP格式图片;
2、在“资源视图”中右键鼠标Dialog处,选择“添加资源”;
3、在“添加资源”对话框中选择Bitmap,点击“导入”,选择工程文件res文件夹中的背景图片,它会添加一张IDB_BITMAP1的图片。
这里写图片描述
三、编写代码
1、找到XXXDlg.cpp文件夹下的void CXXXDlg::OnPaint()函数,在else中进行修改。
2、注释语句 CDialog::OnPaint(); 防止重复调用重画函数
3、添加代码

else {
//注释该语句:防止重复调用重画函数
//CDialog::OnPaint(); 
//添加代码对话框背景贴图
CPaintDC   dc(this);  
CRect   rect;  
GetClientRect(&rect);    //获取对话框长宽      
CDC   dcBmp;             //定义并创建一个内存设备环境
dcBmp.CreateCompatibleDC(&dc);             //创建兼容性DC
CBitmap   bmpBackground;   
bmpBackground.LoadBitmap(IDB_BITMAP1);    //载入资源中图片,其中IDB_BITMAP1为图片资源的ID号
BITMAP   m_bitmap;                         //图片变量               
bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中
//将位图选入临时内存设备环境
CBitmap  *pbmpOld=dcBmp.SelectObject(&bmpBackground);
//调用函数显示图片StretchBlt显示形状可变
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcBmp,0,0,m_bitmap.bmWidth,m_bitmap.bmHeight,SRCCOPY);    
}

字体与字体大小改变
找到XXXDlg.cpp文件夹下的void CXXXDlg::OnInitDialog()函数中添加

static CFont fontTitle;
fontTitle.CreatePointFont(240, "楷体");
GetDlgItem(IDC_Title)->SetFont(&fontTitle);//IDC_Title为需要修改对象的ID号

四、结果显示
这里写图片描述

原文:https://blog.csdn.net/z215367701/article/details/51754805

猜你喜欢

转载自blog.csdn.net/lly_117/article/details/80533620
今日推荐