Udostępnij za pośrednictwem


Metoda IVsUIHierarchy.QueryStatusCommand — (UInt32, Guid, UInt32, OLECMD , IntPtr)

 

Kwerendy obiektu dla stanu polecenia.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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
    [w] Identyfikator elementu, dotyczy to polecenie.Aby uzyskać listę itemid wartości, zobacz VSITEMID.Wybór pojedynczy to identyfikator konkretnego towaru.W przypadku zaznaczenia wielu, należy ustawić itemid równą VSITEMID_SELECTION.
  • pguidCmdGroup
    [w, unikatowe] Wskaźnik identyfikator unikatowy grupy poleceń.pguidCmdGroup Parametr może być null do określenia standardowego grupy.
  • cCmds
    [w] Liczba poleceń w prgCmds tablicy.
  • prgCmds
    [in, out, size_is(cCmds)] Przydzielone przez obiekt wywołujący tablica OLECMD struktur, które wskazują poleceń, które informacje o stanie wymaga obiekt wywołujący.Metoda ta wypełnia Członkowskich cmdf każdej struktury z wartościami z OLECMDF wyliczania.
  • pCmdText
    [in, out, unikatowe] Wskaźnik, aby OLECMDTEXT strukturę, w którym zwraca nazwy i/lub stan informacji z jednego polecenia.Może być null do wskazania wywołującego nie wymagają tej informacji.

Wartość zwracana

Type: System.Int32

Jeśli metoda się powiedzie, zwraca S_OK.Jeśli nie powiedzie się, zwraca kod błędu.

Uwagi

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
);

Ta metoda jest podobna do M:Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(System.Guid@,System.UInt32,System.UInt32,System.IntPtr,System.IntPtr) metodę, która nie obsługuje hierarchie.ExecCommand Metoda dodatkowo zawiera itemid parametr, który identyfikuje element hierarchii, którego dotyczy polecenie.

Środowiska wykonuje tę metodę, okno hierarchia interfejsu użytkownika nie ma fokusu.Okno hierarchia UI deleguje wszystkich poleceń menu lub paska narzędzi, aby UIHierarchy obiekt, który jest elementem nadrzędnym wspólne dla zaznaczenia.Zapewnia to UIHierarchy obiektu opcji poleceń, które dotyczą tylko okno hierarchia interfejsu użytkownika nie ma fokusu.Przykładami usunąć i usunąć polecenia.

Nie obsługują również te polecenia, za pomocą IOleCommandTarget interfejsu, na którym QueryInterface mogą być uruchamiane z IVsHierarchy interfejsu.IOleCommandTarget z aktywnego projektu jest wliczana zwykle polecenia routingu środowiska, nawet wtedy, gdy fokus w innym oknie (na przykład okna Dokument).

Jeśli okno hierarchii interfejsu użytkownika nie jest oknem aktywnym, ale nadal jest aktywny hierarchii, co oznacza, że jest ostatnia hierarchia zostało zaznaczone, a następnie wysyłane za pośrednictwem dowolnego polecenia, które obejmują hierarchii active IOleCommandTarget interfejsu zamiast IVsUIHierarchy interfejsu.Na przykład, jeśli zaznaczenie jest zmieniana z Solution Explorer do listy zadań, a następnie Solution Explorer aktywnej hierarchii, ale aktywne okno jest na liście zadań.W tym przypadku wszystkie polecenia, które są powiązane z aktywnej hierarchii, takich jak dodawanie elementu do projektu, są wysyłane za pośrednictwem IOleCommandTarget interfejsu.

Poleceń, takich jak dodanie elementu projektu nie powinny być obsługiwane przez IVsUIHierarchy metod, ponieważ nie będzie dostępne z zewnątrz okno hierarchii.Używać tylko IVsUIHierarchy do obsługi poleceń, które wymagają Hierarchii UI okno ma koncentrować się lub działań na określony element w hierarchii.

Zobacz też

Interfejs IVsUIHierarchy
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku