以下是一个简单的例子,演示如何在派生类中重写 OnDrawBackground 方法:
class CMyCaptionBar : public CMFCCaptionBar
{
public:
// 构造函数、析构函数等
protected:
virtual void OnDrawBackground(CDC* pDC, CRect rect, BOOL bActive)
{
// 在这里自定义标题栏的绘制
if (bActive)
{
// 绘制活动状态的标题栏背景
pDC->FillSolidRect(rect, RGB(0, 120, 215)); // 例:蓝色背景
}
else
{
// 绘制非活动状态的标题栏背景
pDC->FillSolidRect(rect, RGB(192, 192, 192)); // 例:灰色背景
}
// 继续添加自定义绘制逻辑...
}
};
在这个例子中,创建了一个名为 CMyCaptionBar 的类,该类继承自 CMFCCaptionBar。在这个派生类中,重写了 OnDrawBackground 方法,根据标题栏的活动状态绘制不同的背景色。你可以根据需要添加更多的自定义绘制逻辑。
请注意,在实际应用中,你可能需要根据具体的 UI 设计和需求进一步定制标题栏的绘制。
转载请注明出处:http://www.pingtaimeng.com/article/detail/19138/MFC/CMFCCaptionBar