实现处理对嵌套的项目的命令

IDE 会通过 IVsUIHierarchyIOleCommandTarget 接口对嵌套的项目的命令,或者父项目可筛选或重写命令。

备注

父项目通常处理的唯一的顺序进行筛选。由 IDE 处理指令例如 BuildDeploy 无法筛选。

以下步骤介绍实现的命令处理。

过程

为实现 " 命令处理

  1. 当用户选择一个嵌套的项目或一个节点在嵌套的项:

    1. IDE 调用 QueryStatus 方法。

    - 或 -

    1. 如果命令则源自一层次结构 " 窗口,例如在解决方案资源管理器中的一个快捷菜单命令, IDE 对项的父级的 QueryStatusCommand 方法。
  2. 父项目可以检查将传递的参数传递给 QueryStatus,例如 pguidCmdGroup 和 prgCmds,确定父项是否应筛选命令。 如果父项目实现筛选命令,则应设置:

    prgCmds[0].cmdf = OLECMDF_SUPPORTED;
    // make sure it is disabled
    prgCmds[0].cmdf &= ~MSOCMDF_ENABLED;
    

    单击父项应返回 S_OK。

    如果父项目不筛选命令,则应返回 S_OK。 在这种情况下, IDE 会自动路由命令为子项。

    父项目不必路由命令到子项。 IDE 执行此任务。

请参见

参考

IVsUIHierarchy

概念

嵌套项目

其他资源

命令、菜单和工具栏