CMFCCaptionBar::OnDrawBackground 是 MFC 中 CMFCCaptionBar 类的一个受保护方法,用于绘制标题栏的背景。在这个方法中,你可以自定义标题栏的绘制,包括背景色、图像等。

以下是一个简单的例子,演示如何在派生类中重写 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