MFC 设置Dialog背景图片

本文介绍如何在MFC应用程序中使用CBrush和CBitmap类为对话框设置自定义背景图案。具体步骤包括:在TestDlg.h文件中声明CBrush类型的成员变量;在TestDlg.cpp的OnInitDialog()函数中加载位图并创建模式画刷;重载WM_CTLCOLOR消息响应函数OnCtlColor()以应用背景画刷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TestDlg.h中 
CBrush m_brBk;//在public中定义
TestDlg.cpp中 在初始化函数OnInitDialog()中加入:
BOOL CTestDlg::OnInitDialog() 
{ 
<span style="white-space:pre">	</span>CDialog::OnInitDialog(); 
<span style="white-space:pre">	</span>CBitmap bmp; 
<span style="white-space:pre">	</span>bmp.LoadBitmap(IDB_BITMAP2); 
<span style="white-space:pre">	</span>m_brBk.CreatePatternBrush(&bmp); 
<span style="white-space:pre">	</span>bmp.DeleteObject(); 
<span style="white-space:pre">	</span>return TRUE; // return TRUE unless you set the focus to a control 
} 
在打开类向导,找到WM_CTLCOLOR消息,重载得对应函数OnCtlColor(),添加如下:
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{ 
<span style="white-space:pre">	</span>HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); 
<span style="white-space:pre">	</span>if (pWnd == this) 
<span style="white-space:pre">	</span>{ 
<span style="white-space:pre">		</span>return m_brBk; 
<span style="white-space:pre">	</span>} <span style="white-space:pre">			</span>
return hbr; 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值