Sdílet prostřednictvím


IVsUIShell.CreateDocumentWindow – metoda (UInt32, String, IVsUIHierarchy, UInt32, IntPtr, IntPtr, Guid, String, Guid, IServiceProvider, String, String, Int32 , IVsWindowFrame)

 

Tato metoda vytvoří okno dokumentu obsahující vkládání označen punkDocView parametr.

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

Syntaxe

int CreateDocumentWindow(
    uint grfCDW,
    string pszMkDocument,
    IVsUIHierarchy pUIH,
    uint itemid,
    IntPtr punkDocView,
    IntPtr punkDocData,
    [InAttribute] ref Guid rguidEditorType,
    string pszPhysicalView,
    [InAttribute] ref Guid rguidCmdUI,
    IServiceProvider psp,
    string pszOwnerCaption,
    string pszEditorCaption,
    int[] pfDefaultPosition,
    out IVsWindowFrame ppWindowFrame
)
int CreateDocumentWindow(
    unsigned int grfCDW,
    String^ pszMkDocument,
    IVsUIHierarchy^ pUIH,
    unsigned int itemid,
    IntPtr punkDocView,
    IntPtr punkDocData,
    [InAttribute] Guid% rguidEditorType,
    String^ pszPhysicalView,
    [InAttribute] Guid% rguidCmdUI,
    IServiceProvider^ psp,
    String^ pszOwnerCaption,
    String^ pszEditorCaption,
    array<int>^ pfDefaultPosition,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame
)
abstract CreateDocumentWindow : 
        grfCDW:uint32 *
        pszMkDocument:string *
        pUIH:IVsUIHierarchy *
        itemid:uint32 *
        punkDocView:nativeint *
        punkDocData:nativeint *
        rguidEditorType:Guid byref *
        pszPhysicalView:string *
        rguidCmdUI:Guid byref *
        psp:IServiceProvider *
        pszOwnerCaption:string *
        pszEditorCaption:string *
        pfDefaultPosition:int[] *
        ppWindowFrame:IVsWindowFrame byref -> int
Function CreateDocumentWindow (
    grfCDW As UInteger,
    pszMkDocument As String,
    pUIH As IVsUIHierarchy,
    itemid As UInteger,
    punkDocView As IntPtr,
    punkDocData As IntPtr,
    <InAttribute> ByRef rguidEditorType As Guid,
    pszPhysicalView As String,
    <InAttribute> ByRef rguidCmdUI As Guid,
    psp As IServiceProvider,
    pszOwnerCaption As String,
    pszEditorCaption As String,
    pfDefaultPosition As Integer(),
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame
) As Integer

Parametry

  • grfCDW
    [v] Příznaky, jejichž hodnoty jsou převzaty z __VSCREATEDOCWINDWORD.
  • pszMkDocument
    [v] Cesta k dokumentu.Tuto cestu používá prostředí k registraci tohoto zobrazení v systémem dokumentu tabulky (RDT).
  • pUIH
    [v] Ukazatel IVsHierarchy rozhraní položku hierarchie obsahující tento dokument.
  • itemid
    [v] Identifikátor položky v hierarchii odpovídající tohoto dokumentu.Hodnota je založena VSITEMID výčtu.
  • punkDocView
    [v] Ukazatel IUnknown rozhraní pro objekt zobrazení dokument zobrazený v tomto okně.Objekt zobrazení dokumentu může být například objekt dokumentu IOleDocument, pro ovládací prvek, například IOleObject nebo IOleControl, nebo jednoduché prostředí, jako například vložení IVsWindowPane.
  • punkDocData
    [v] Ukazatel IUnknown rozhraní objekt reprezentující data objektu dokumentu tento dokument v situacích, kde je zobrazení dat nebo v oddělení.Základní textový editor má například textového objektu zobrazení (IVsTextView) a textový objekt vyrovnávací paměti (IVsTextBuffer).Tento parametr může být null. Předávání null způsobuje prostředí k vytvoření instance výchozí provádění punkDocData jménem volajícího.
  • rguidEditorType
    [v] Jedinečný identifikátor factory editor, vytvořenou instanci dokumentu datové objekty zobrazení a dokumentu.To musí být GUID_NULL, pokud dokument není vyrobeno na použití výrobě editor (instance je vytvořen s privátní znalost konkrétního projektu).
  • pszPhysicalView
    [v] Řetězec, který identifikuje typ fyzického zobrazení editoru.Některé továrny editor může podporovat vytváření více typů zobrazení fyzické.Je například možné, aby jeden editor factory pro podporu vytváření grafického zobrazení návrháře (LOGVIEWID_Designer) jako textový kód zobrazení (LOGVIEWID_Code).Editor factory musíte zaregistrovat informace v systémovém registru pro mapování mezi typy zobrazení logické a fyzické podklíče registru LogicalViewMap.
  • rguidCmdUI
    [v] Určuje, jakou sadu nabídek by sloučeny do hlavní nabídky panel, když je aktivní dokument.Tento typ slučování nabídky doporučujeme nabídku OLE2 slučování, které lze použít, pokud je tento parametr GUID_NULL.Počáteční hodnota tohoto parametru je vrácen jako parametr [out] v CreateEditorInstance metoda.
  • psp
    [v] Ukazatel IServiceProvider rozhraní.Může být null. Jedná se další poskytovatel metadat podle volajícího (obvykle projektu), takže volající poskytovat editor vložený extra kontextu (formou služby).Tedy vloženého objektu vytvoří požadavek na službu, rámeček pokusí tento požadavek splňovat.Pokud služba není poskytována rámce, psp je vyzkoušeli.Pokud služba není není nalezen, je dotazován poskytovatel metadat globální životní prostředí.
  • pszOwnerCaption
    [v] Počáteční titulek okna dokumentu definovány vlastník dokumentu (aplikace project).To je často formuláře: "ProjectName-ItemName."
  • pszEditorCaption
    [v] Počáteční titulek definován editor dokumentu pro okna dokumentu.Obvykle se jedná o řetězec uzavřený v hranatých závorkách (například [Form]).Počáteční hodnota tohoto parametru je vrácen jako parametr [out] v IVsEditorFactory::CreateEditorInstance metoda.
  • pfDefaultPosition
    [výstup] Může být null Pokud volající není si přejí tyto informace.truePokud prostředí neměl žádné uložené informace o poslední pozice okna nástroje (, guidPersistenceSlot nebyl nalezen), proto byl umístěn v některé výchozí umístění na obrazovce.falsePokud toto okno byla uložena, kde uživatel naposledy umístěn a jeho velikosti.
  • ppWindowFrame
    [výstup] Ukazatel myši na snímek obsahující tento editor, který lze použít k manipulaci, umístění, velikost, titulek a další vlastnosti okna.Lze také použít k získání IUnknown ukazatele rozhraní vložení (je punkDocView) nebo punkDocData.

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 IVsUIShell::CreateDocumentWindow(
   [in] VSCREATEDOCWIN grfCDW,
   [in] LPCOLESTR pszMkDocument,
   [in] IVsUIHierarchy *pUIH,
   [in] VSITEMID itemid,
   [in] IUnknown *punkDocView,
   [in] IUnknown *punkDocData,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] REFGUID rguidCmdUI,
   [in] IServiceProvider *pSP,
   [in] LPCOLESTR pszOwnerCaption,
   [in] LPCOLESTR pszEditorCaption,
   [out] BOOL *pfDefaultPosition,
   [out] IVsWindowFrame **ppWindowFrame
);

IVsUIShell.CreateDocumentWindowje nízké úrovně rutiny, která se používá ve složitějších situacích.Tato metoda není ve většině klientů, kteří obecně obvykle nazývá OpenStandardEditor nebo OpenSpecificEditor k otevření dokumentu.Tyto metody volat IVsUIShell.CreateDocumentWindow jako součást jejich provádění.

Následující položky jsou přidruženy každého okna dokumentu:

Cesta dokumentu (pszMkDocument), která je registrována v RDT.

Hierarchie/ID tématu dvojici označující projektu, ke kterému je přidružen dokumentu.

Zobrazení objektu v oblasti okna klienta (punkDocView).

Objekt reprezentující podkladová data zpracováván v tomto zobrazení (punkDocData).

Prostředí implementovat IVsWindowFrame vrátil tuto metodu objektu.Přístup pomocí tohoto ukazatele punkDocView, titulek, umístění a tak dále.Úplný seznam vlastností, které lze získat přístup, viz __VSFPROPID.

Titulek okna dokumentu řídí tři nezávislé strany, vlastník dokumentu (obvykle projektu), editor a životní prostředí.

Vlastník titulek

Editor titulek

Titulek prostředí

Titulek okna dokumentu

"%1-% 2"

kde

%1 = "Project1" a

%2 = "MyForm"

"[kód]"

" :2"

"Project1 = MyForm [kód]: 2"

"% 3"

kde

%3 = "c:/.../mydir/mydoc.txt"

null

""

"c:/.../mydir/mydoc.txt"

Okenní rám dokumentu je dosaženo této správy sledování pszOwnerCaption a pszEditorCaption vlastnosti titulek.Tyto řetězce pocházejí zřetězení Okenní rám s všechny řetězce prostředí přispět.pszOwnerCaption Řetězec lze definovat pomocí řetězce formátu jako sprintf určit, kde by automaticky nahrazena DocumentAttribute řetězce.Rám okna poslouchat OnAfterAttributeChange událostí vědět, kdy aktualizovat tento titulek.Jsou definovány následující řetězce DocumentAttribute:

%1 == Project name –

pHier->GetProperty(VSITEMID_ROOT, VSHPROPID_Name,...)

%2 == item name –

pHier->GetProperty(itemid, VSHPROPID_Name,...)

%3 == Document (file) name –

pHier->GetProperty(itemid, VSHPROPID_SaveName,...)

Pokud OwnerCaption obsahuje řetězec % # pak monitory Okenní rám OnAfterAttributeChange událostí a hierarchie OnPropertyChanged událostí sledování měníte tyto názvy.

Viz také

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

Zpátky na začátek