MFC 设置背景颜色 - 重写 OnEraseBkgnd 函数
在MFC中,没有直接的SetBackgroundColor()成员函数可以设置背景颜色。但是,你可以通过重写CWnd类的OnEraseBkgnd()函数来实现设置背景颜色的效果。
以下是一个示例代码:
BOOL CMyWnd::OnEraseBkgnd(CDC* pDC)
{
CRect rect;
GetClientRect(&rect);
// 创建背景画刷
CBrush brush(RGB(255, 0, 0)); // 设置为红色背景
// 用背景画刷填充矩形区域
pDC->FillRect(&rect, &brush);
return TRUE;
}
在这个示例中,我们重写了CWnd类的OnEraseBkgnd()函数。首先,我们获取客户区域的矩形区域,然后创建了一个红色背景的画刷。最后,我们使用背景画刷填充整个客户区域。
请注意,这个示例代码是在一个自定义的CWnd派生类中实现的。如果你在对话框类或其他派生类中使用,你需要相应地进行调整。
原文地址: https://www.cveoy.top/t/topic/bOUE 著作权归作者所有。请勿转载和采集!