在 MFC 中,CCmdUI::ContinueRouting 方法是 CCmdUI 类的一个公共方法。CCmdUI 用于在 UI 元素(如菜单项、工具栏按钮等)上执行命令时协助命令的状态更新。

以下是关于 CCmdUI::ContinueRouting 方法的简要说明:
virtual void ContinueRouting();

  •  功能: ContinueRouting 方法用于指示框架继续路由命令。在 CCmdUI 对象的 OnUpdate 函数中,如果命令无法处理,你可以调用 ContinueRouting 方法,以便框架继续寻找能够处理命令的目标。


这在消息映射中的 ON_UPDATE_COMMAND_UI 处理程序中是有用的。如果某个控件不处理特定的命令,你可以调用 ContinueRouting 以便寻找其他处理程序。示例如下:
void CMyView::OnUpdateMyCommand(CCmdUI* pCmdUI)
{
    // 假设 MyCommand 需要特定条件下才能处理
    if (CanHandleMyCommand())
    {
        pCmdUI->Enable(TRUE);
        pCmdUI->ContinueRouting();  // 框架将继续查找其他处理程序
    }
    else
    {
        pCmdUI->Enable(FALSE);
    }
}

在上述示例中,如果 CanHandleMyCommand 返回 FALSE,则命令不会启用,同时 ContinueRouting 方法会告诉框架继续查找其他处理程序。这样,你可以根据具体的条件动态地启用或禁用命令,并在需要时让框架继续查找其他处理程序。


转载请注明出处:http://www.zyzy.cn/article/detail/15895/MFC/CCmdUI