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