在 MFC(Microsoft Foundation Classes)中,CControlBar 类确实有一个名为 OnUpdateCmdUI 的公共方法。这个方法用于在用户界面 (UI) 更新时进行通知,以便控制条可以更新其状态。

以下是该方法的声明:
virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);

这个方法在用户界面更新期间被调用,pTarget 参数是指向帧窗口对象的指针,bDisableIfNoHandler 参数指定在没有处理程序的情况下是否禁用相关的 UI 元素。

通常,你可以在派生的 CControlBar 类中覆盖 OnUpdateCmdUI 方法,以便在需要时更新控制条的状态。例如:
class CMyControlBar : public CControlBar
{
public:
    // ...

    virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHandler)
    {
        // 执行控制条状态的更新逻辑
        // ...

        // 调用基类的实现,以确保执行基本的更新逻辑
        CControlBar::OnUpdateCmdUI(pTarget, bDisableIfNoHandler);
    }

    // ...
};

在派生类的 OnUpdateCmdUI 方法中,你可以根据需要添加自定义的更新逻辑。通常,这个方法用于在 UI 更新期间设置控制条的状态,以便反映当前的应用程序状态。




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