實作命令處理巢狀專案
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
IDE 可以傳遞命令,都會通過IVsUIHierarchy和IOleCommandTarget介面,以巢狀的專案或父專案可以篩選或覆寫命令。
注意
您可以篩選通常由父專案的命令。 這類命令建置和部署,會由 IDE 無法進行篩選。
下列步驟說明實作命令的處理程序。
程序
若要實作命令處理
當使用者選取巢狀的專案或節點中的巢狀專案︰
- IDE 呼叫QueryStatus方法。
— 或 —
- 如果命令是在階層視窗中,例如在 [方案總管的捷徑功能表命令 IDE 呼叫QueryStatusCommand在專案的父代上的方法。
父專案可以檢查傳遞給參數
QueryStatus
,例如pguidCmdGroup
和prgCmds
,以決定父專案是否應該篩選命令。 如果父專案來篩選命令實作時,它應該設定︰prgCmds[0].cmdf = OLECMDF_SUPPORTED; // make sure it is disabled prgCmds[0].cmdf &= ~MSOCMDF_ENABLED;
然後應該會傳回父專案
S_OK
。如果父專案不會篩選命令,它應該只會傳回
S_OK
。 在此情況下,IDE 會自動將命令路由至子專案。若要將命令傳送至子專案沒有父專案。 IDE 會執行這項工作...