Udostępnij za pośrednictwem


Metoda ISelectionContainer.GetObjects — (UInt32, UInt32, Object )

 

Zwraca obiekty, które są aktualnie wybrane lub obiektów, które można wybrać.

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

Składnia

int GetObjects(
    uint dwFlags,
    uint cObjects,
    object[] apUnkObjects
)
int GetObjects(
    unsigned int dwFlags,
    unsigned int cObjects,
    array<Object^>^ apUnkObjects
)
abstract GetObjects : 
        dwFlags:uint32 *
        cObjects:uint32 *
        apUnkObjects:Object[] -> int
Function GetObjects (
    dwFlags As UInteger,
    cObjects As UInteger,
    apUnkObjects As Object()
) As Integer

Parametry

  • dwFlags
    Type: System.UInt32

    [in] Flaga określająca typ obiektów do zwrócenia. Jeśli wartość GETOBJS_ALL, ISelectionContainer::GetObjects zwraca wszystkie obiekty dostępnych do wyboru. Jeśli wartość GETOBJS_SELECTED, zwracane są tylko aktualnie zaznaczonych obiektów.

  • cObjects
    Type: System.UInt32

    [in] Określa żądanej liczby obiektów, które mają zostać zwrócone.

  • apUnkObjects
    Type: System.Object[]

    [in] Wskaźnik do tablicy wskaźników do wybranego lub zaznaczania obiektów obsługujące IDispatch interfejsu.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Uwagi

Podpis COM

Z designer.idl:

HRESULT ISelectionContainer::GetObjects(
   [in] DWORD dwFlags,
   [in] ULONG cObjects,
   [out, size_is(cObjects)] IUnknown ** apUnkObjects
);

Aby użyć GetObjects, obiekt wywołujący musi najpierw wywołać CountObjects odpowiedniego typu (wybrane lub wybieranych) w celu ustalenia liczby obiektów, następnie przydzielić tablicy przy użyciu tego rozmiaru i przekazać go do GetObjects w apUnkObjects parametru.

Ponieważ GetObjects jest używany do wypełniania w oknie właściwości, obiekty zwrócone musi zapewnić dostęp do właściwości, które mają być wyświetlane. W niektórych przypadkach GetObjects zwraca wskaźnik do rozszerzonych obiektu, a nie samego obiektu. Rozszerzone obiekt ma właściwości, które nie należą bezpośrednio do wybranego obiektu, ale mogą mieć wpływ na jego wygląd lub zachowanie. Na przykład, jeśli jest zaznaczony obiekt przycisku w formularzu, Projektant formularzy jako VSPackage obiektu implementującego GetObjects może zawierać właściwości, takie jak pozycji X i Y w oknie właściwości. W takim przypadku GetObjects zwróci wskaźnik na formularzu zamiast przycisku.

Ponieważ zwracanych obiektów obsługuje IDispatch interfejsu, środowisko informacje można uzyskać bezpośrednio z nich. Na przykład identyfikator wstępnie zdefiniowanych wysyłki (DISPID) mogą być przekazywane do IDispatch::Invoke uzyskać nazwy obiektu. Predeclared DISPID jest ujemna, aby upewnić się, że nie wchodzą w konflikt z identyfikatory zdefiniowane przez użytkownika.

W poniższej tabeli opisano niektóre z tych informacji i jak i z jakiej lokalizacji są uzyskiwane.

Informacje

Uzyskany z

Nazwa obiektu

IDispatch::Invoke za pomocą identyfikatora wysyłania DISPID_NAME

Indeks obiektu

IDispatch::Invoke za pomocą identyfikatora wysyłania DISPID_OBJECT

Typ obiektu

IProvideClassInfo::QueryInterface

Zobacz też

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

Powrót do początku