MFC 添加背景图片并让控件背景透明

2022-08-29 14:37:23   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《MFC 添加背景图片并让控件背景透明》,欢迎阅读!
背景图片,控件,透明,背景,添加

/*添加背景图片*/

BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

CDialog::OnEraseBkgnd(pDC);

HBITMAP m_hBitmap;

HDC m_hBkDC;

m_hBitmap = ::LoadBitmap(::GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP2));

m_hBkDC = ::CreateCompatibleDC(pDC-> m_hDC);

if(m_hBitmap && m_hBkDC)

{

::SelectObject(m_hBkDC,m_hBitmap);

::StretchBlt(pDC-> m_hDC,0,0,700,610,m_hBkDC,0,0,700,610,SRCCOPY);

::DeleteObject(m_hBitmap);

::DeleteDC(m_hBkDC);

}

return TRUE;

}

/*设置控件背景透明*/

HBRUSH CTOOLDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor == CTLCOLOR_STATIC )

{

pDC->SetBkMode(TRANSPARENT);//设置背景透明

pDC->SetTextColor(RGB(255,255,0));//设置字体为黄色

return (HBRUSH)::GetStockObject(NULL_BRUSH);

}

// TODO: 如果默认的不是所需画笔,则返回另一个画笔

return hbr;

}

本文来源:https://www.dywdw.cn/a4a980b0195f312b3069a519.html

相关推荐
推荐阅读