Sdílet prostřednictvím


IVsUIHierarchy.QueryStatusCommand – metoda (UInt32, Guid, UInt32, OLECMD , IntPtr)

 

Dotazy pro stav příkaz objekt.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

int QueryStatusCommand(
    uint itemid,
    [InAttribute] ref Guid pguidCmdGroup,
    uint cCmds,
    OLECMD[] prgCmds,
    IntPtr pCmdText
)
int QueryStatusCommand(
    unsigned int itemid,
    [InAttribute] Guid% pguidCmdGroup,
    unsigned int cCmds,
    array<OLECMD>^ prgCmds,
    IntPtr pCmdText
)
abstract QueryStatusCommand : 
        itemid:uint32 *
        pguidCmdGroup:Guid byref *
        cCmds:uint32 *
        prgCmds:OLECMD[] *
        pCmdText:nativeint -> int
Function QueryStatusCommand (
    itemid As UInteger,
    <InAttribute> ByRef pguidCmdGroup As Guid,
    cCmds As UInteger,
    prgCmds As OLECMD(),
    pCmdText As IntPtr
) As Integer

Parametry

  • itemid
    [v] Identifikátor zboží ovlivněné tímto příkazem.Seznam itemid hodnoty, viz VSITEMID.U jednoho výběru je ID skutečné položky.Více výběrů nastavit itemid na VSITEMID_SELECTION.
  • pguidCmdGroup
    [v, jedinečný] Ukazatel na jedinečný identifikátor skupiny příkazů.pguidCmdGroup Může být parametr null určit standardní skupinu.
  • cCmds
    [v] Počet příkazů prgCmds pole.
  • prgCmds
    [v, ven, size_is(cCmds)] Pole přiděleno volající OLECMD struktury, které označují příkazy, u kterých volající vyžaduje informace o stavu.Tato metoda vyplní člen cmdf každá struktura hodnotami z OLECMDF výčtu.
  • pCmdText
    [v, ven, jedinečný] Ukazatele OLECMDTEXT struktury k vrácení název nebo stav informace do jednoho příkazu.Může být null k označení volající nevyžaduje, aby se tyto informace.

Vrácená hodnota

Type: System.Int32

Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.

Poznámky

Podpis COM

Z vsshell.idl:

HRESULT IVsUIHierarchy::QueryStatusCommand(
   [in] VSITEMID itemid,
   [in, unique] const GUID * pguidCmdGroup,
   [in] ULONG cCmds,
   [in, out, size_is(cCmds)] OLECMD prgCmds[],
   [in, out, unique] OLECMDTEXT *pCmdText
);

Tato metoda je podobná M:Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(System.Guid@,System.UInt32,System.UInt32,System.IntPtr,System.IntPtr) metodu, která nepodporuje hierarchie.ExecCommand Dále obsahuje metodu itemid parametr, který identifikuje položku hierarchie, na které se vztahuje příkaz.

Prostředí provede tato metoda má okno hierarchie uživatelského rozhraní.Okno hierarchie UI deleguje všechny příkazy nabídky nebo panelu nástrojů na UIHierarchy objekt, který je společný nadřazené pro výběr.To poskytuje UIHierarchy objektu možnost zpracovávat příkazy, které platí pouze když aktivní okno hierarchie uživatelského rozhraní.Příklady zahrnují Odstranit a Odebrat příkazy.

Také zpracovat tyto příkazy pomocí IOleCommandTarget rozhraní, u kterého QueryInterface lze spustit z IVsHierarchy rozhraní.IOleCommandTarget Aktivního projektu je zahrnuta v obvyklých příkaz směrování životního prostředí, i když má jiného okna (například okno dokumentu).

UI hierarchie není aktivní okno, ale je stále aktivní hierarchie, což je poslední hierarchii byly vybrány, pak všechny příkazy, které zahrnují aktivní hierarchie jsou odesílány prostřednictvím IOleCommandTarget rozhraní místo IVsUIHierarchy rozhraní.Například pokud změní výběr z Aplikaci Solution Explorer do seznamu úkolů a potom Aplikaci Solution Explorer je aktivní hierarchie, ale je aktivní okno seznamu úkolů.V takovém případě jsou odeslány všechny příkazy, které se vztahují k aktivní hierarchie, například přidání položky do projektu, až IOleCommandTarget rozhraní.

Příkazy jako přidání položky projektu má zpracovat není IVsUIHierarchy metody protože nebudou k dispozici z mimo okno hierarchie.Použít pouze IVsUIHierarchy ke zpracování příkazů, které vyžadují Hierarchie uživatelského rozhraní okna mají zaměřit nebo které působí na konkrétní položku v hierarchii.

Viz také

IVsUIHierarchy – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek