CMFCRibbonButton 类中确实有一个名为 OnDraw 的公共虚拟方法。此方法通常用于绘制 Ribbon 按钮的外观。下面是 CMFCRibbonButton::OnDraw 方法的基本形式:
virtual void OnDraw(CDC* pDC, CRect rect, CMFCRibbonButtonState state);

这个方法允许你根据按钮的状态绘制不同的外观。pDC 是设备上下文,rect 是按钮的绘制区域,state 表示按钮的状态(正常、激活、禁用等)。

在子类中,你可以重写这个方法来自定义按钮的外观。例如:
class MyRibbonButton : public CMFCRibbonButton
{
public:
    virtual void OnDraw(CDC* pDC, CRect rect, CMFCRibbonButtonState state)
    {
        // 在这里实现自定义的按钮绘制逻辑
        // 使用 pDC 绘制按钮的外观,考虑按钮的状态
    }
};

请注意,这个方法是虚拟方法,你需要在自定义的按钮类中重写它,以便在绘制按钮时应用自定义的绘制逻辑。


转载请注明出处:http://www.pingtaimeng.com/article/detail/19716/MFC/CMFCRibbonButton