Metoda IVsUIShell.CreateToolWindow — (UInt32, UInt32, Object, Guid, Guid, Guid, IServiceProvider, String, Int32 , IVsWindowFrame)
Ta metoda tworzy okna narzędzia zawierający osadzanie wskazywanym przez punkDocView, lub clsidDocView parametru, jeśli punkDocView jest parametr null.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
int CreateToolWindow(
uint grfCTW,
uint dwToolWindowId,
object punkTool,
[InAttribute] ref Guid rclsidTool,
[InAttribute] ref Guid rguidPersistenceSlot,
[InAttribute] ref Guid rguidAutoActivate,
IServiceProvider psp,
string pszCaption,
int[] pfDefaultPosition,
out IVsWindowFrame ppWindowFrame
)
int CreateToolWindow(
unsigned int grfCTW,
unsigned int dwToolWindowId,
Object^ punkTool,
[InAttribute] Guid% rclsidTool,
[InAttribute] Guid% rguidPersistenceSlot,
[InAttribute] Guid% rguidAutoActivate,
IServiceProvider^ psp,
String^ pszCaption,
array<int>^ pfDefaultPosition,
[OutAttribute] IVsWindowFrame^% ppWindowFrame
)
abstract CreateToolWindow :
grfCTW:uint32 *
dwToolWindowId:uint32 *
punkTool:Object *
rclsidTool:Guid byref *
rguidPersistenceSlot:Guid byref *
rguidAutoActivate:Guid byref *
psp:IServiceProvider *
pszCaption:string *
pfDefaultPosition:int[] *
ppWindowFrame:IVsWindowFrame byref -> int
Function CreateToolWindow (
grfCTW As UInteger,
dwToolWindowId As UInteger,
punkTool As Object,
<InAttribute> ByRef rclsidTool As Guid,
<InAttribute> ByRef rguidPersistenceSlot As Guid,
<InAttribute> ByRef rguidAutoActivate As Guid,
psp As IServiceProvider,
pszCaption As String,
pfDefaultPosition As Integer(),
<OutAttribute> ByRef ppWindowFrame As IVsWindowFrame
) As Integer
Parametry
grfCTW
Type: System.UInt32[in] Określa sposób tworzenia nowego okna narzędzia. Aby uzyskać więcej informacji, zobacz __VSCREATETOOLWIN.
dwToolWindowId
Type: System.UInt32[in] Okno narzędzia-identyfikatora wystąpienia. Jeśli tworzysz okna narzędzia jednego wystąpienia przekazać w przebiegu zero dla tego parametru. Jeśli tworzysz okna narzędzia wielu wystąpień następnie przekaże identyfikator następnego okna narzędzia dostępne.
punkTool
Type: System.Object[in] Widok obiektów mają być wyświetlane w obszarze klienta okna narzędzia. Ten obiekt może być formantu ActiveX (takich jak IOleInPlaceActiveObject, IOleControl), dokument formantów ActiveX (takich jak IOleView, IOleDocument), lub osadzanie proste środowisko (IVsWindowPane). Może być null Jeśli wartość jest dostarczany rclsidTool.
rclsidTool
Type: System.Guid[in] Narzędzie do tworzenia Identyfikatora klasy dla typu okna narzędzia. Klasa wskazane jest tworzony przy użyciu CreateInstance (clsidTool). Ta funkcja jest wygodne do obiektu wywołującego. Może być GUID_NULL, jeśli wartość jest dostarczany punkTool.
rguidPersistenceSlot
Type: System.Guid[in] Unikatowy identyfikator dla tego okna narzędzia dzięki środowisku można zachować informacje (na przykład pozycję okna, stan dokowania i tak dalej) o tym okno narzędzia między sesjami. Nie dwa narzędzia windows mogą współużytkować ten sam identyfikator GUID. Jeśli tak jest, drugie okno narzędzia może zakończyć się niepowodzeniem w operacji tworzenia.
rguidAutoActivate
Type: System.Guid[in] Musi być GUID_NULL. Nie należy używać. Aby uzyskać więcej informacji o sposób kontrolowany widoczność okna narzędzi Zobacz Omówienie okna narzędzia.
psp
Type: Microsoft.VisualStudio.OLE.Interop.IServiceProvider[in] Wskaźnik do IServiceProvider interfejsu. Może być null. Ten parametr umożliwia obiekt wywołujący określić dodatkowe usługodawcy przewidziane okna narzędzi, a w związku z tym zapewnić dodatkowy kontekst do okna narzędzia za pośrednictwem usługi. Osadzanie wysyła żądanie usługi, ramki próbuje spełnić to żądanie. Jeśli usługa nie jest dostępna ramki, określona w parametrze psp usługa jest badane. Jeśli usługa nie zostaną znalezione, dostawca usługi globalne środowisko jest badane.
pszCaption
Type: System.String[in] Tytuł okna narzędzia.
pfDefaultPosition
Type: System.Int32[][out] Wskaźnik do domyślne położenie okna narzędzia. Może być null, jeśli obiekt wywołujący nie wymaga tych informacji. Jeśli false, środowisko nie ma żadnych zapisane informacje o ostatniej pozycji tego okna narzędzia, a następnie (oznacza to, że guidPersistenceSlot nie znaleziono), i okno narzędzia zostanie umieszczony w określonej lokalizacji domyślnej na ekranie. Jeśli wartość true, to okno jest umieszczone, gdzie użytkownik ostatnio znajduje się i jego rozmiar.
ppWindowFrame
Type: Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame[out] Wskaźnik do ramki okna zawierające okna narzędzia. Za pomocą tego wskaźnika do manipulowania lokalizacji, rozmiar, podpis i tak dalej okna narzędzia oraz w celu uzyskania IUnknown Osadzenie wskaźnika 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 vsshell.idl:
HRESULT IVsUIShell::CreateToolWindow(
[in] VSCREATETOOLWIN grfCTW,
[in] DWORD dwToolWindowId,
[in] IUnknown *punkTool,
[in] REFCLSID rclsidTool,
[in] REFGUID rguidPersistenceSlot,
[in] REFGUID rguidAutoActivate,
[in] IServiceProvider *pSP,
[in] LPCOLESTR pszCaption,
[out] BOOL *pfDefaultPosition,
[out] IVsWindowFrame **ppWindowFrame
);
Przekazać wartość w obu punkTool parametru lub rclsidTool parametru. Jeśli przekazać wartość rclsidTool, a następnie środowiska tworzy obiekt przy użyciu rclsidTool. Klasa wskazane jest tworzony przy użyciu CreateInstance (clsidTool).
Obiekt ToolFrame zaimplementowany w środowisku jest zwracany, z których jeden Pobierz punkDocView, podpis, umieść i tak dalej. Aby uzyskać pełną listę właściwości, które są dostępne, zobacz __VSFPROPID.
Narzędzie systemu windows są tworzone w stanie niewidoczne. Użyj Show lub ShowNoActivate Aby wyświetlić okno narzędzia.
Wystąpienie okno hierarchii interfejsu użytkownika jest tworzony przez wywołanie IVsUIShell::CreateToolWindow (CLSID_VsUIHierarchyWindow). Obiekt wywołujący skorzystać zwrócony wskaźnik do ramki okna, aby uzyskać ppunkDocView, na którym QueryInterface może być wywoływana dla wskaźnika do IVsUIHierarchyWindow interfejsu.
Zobacz też
Interfejs IVsUIShell
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku