以下是一个简单的示例,演示如何使用 SetBackgroundImage 函数设置对话框的背景图像:
// 头文件中声明消息处理函数
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
// 实现消息映射
BEGIN_MESSAGE_MAP(MyDialog, CDialogEx)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
// 实现消息处理函数
BOOL MyDialog::OnEraseBkgnd(CDC* pDC)
{
// 加载背景图像
CBitmap backgroundBitmap;
backgroundBitmap.LoadBitmap(IDB_BACKGROUND); // IDB_BACKGROUND 是背景图像的资源ID
// 创建画刷
CBrush brush(&backgroundBitmap);
// 获取对话框的客户区域
CRect rect;
GetClientRect(rect);
// 绘制背景图像
pDC->FillRect(rect, &brush);
return TRUE; // 告诉系统我们已经处理了擦除背景的任务
}
在这个例子中,OnEraseBkgnd 函数处理 WM_ERASEBKGND 消息,加载背景图像,并使用 FillRect 函数将背景图像绘制到对话框的客户区域中。你需要在资源中添加一个背景图像(例如位图),并使用对应的资源ID替换 IDB_BACKGROUND。这样,你就可以通过 SetBackgroundImage 函数来设置对话框的背景图像了。
转载请注明出处:http://www.pingtaimeng.com/article/detail/17346/MFC/CDialogEx