MFC用代码加入对话框背景图片和button图片

时间:2023-03-09 01:13:31
MFC用代码加入对话框背景图片和button图片

执行环境:VS2013

一、加入对话框背景图片

①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

②查看属性,得到位图ID

③编写代码:

void CMFC_8Dlg::OnPaint()
{
if (IsIconic())
{
....
}
else
{
//CDialogEx::OnPaint(); CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1);
//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); }
}

二、加入button背景图片

①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致)

②查看属性,得到位图ID

③编写代码:

void CMFC_8Dlg::OnPaint()
{
if (IsIconic())
{
....
}
else
{
//CDialogEx::OnPaint();
HBITMAP hBitmap;
hBitmap = (HBITMAP)::LoadImage(
NULL,
_T("bitmap2.bmp"), // 图片路径(放到.cpp和.h的目录下)
IMAGE_BITMAP, // 图片格式
0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION); // 注意LR_LOADFROMFILE IDC_BUTTON1
((CButton *)GetDlgItem(IDC_BUTTON1))->SetBitmap(hBitmap); }
}

④设置此button的属性,设置Bitmap为True