Aracılığıyla paylaş


EditorFactory.CreateEditorInstance Yöntem

Tanım

Bu yöntem, belirtilen dosyanın düzenleyicinizin desteklediği dosya olup olmadığını denetler ve destekliyorsa temel metin düzenleyicisini oluşturur ve dil hizmetinizi onunla ilişkilendirir. Dosyanın düzenleyicinizin desteklediği bir dosya olup olmadığını anlamak için aşağıdaki denetimi gerçekleştirir:

Tüm bunlar doğruysa, bir IVsTextLines arabelleği almak ve bunu aşağıdaki gibi ayarlamak için bir sonraki adımla devam eder:

Son olarak, docView'u oluşturmak için CreateEditorView çağrısı yapar.

public:
 virtual int CreateEditorInstance(System::UInt32 createDocFlags, System::String ^ moniker, System::String ^ physicalView, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHier, System::UInt32 itemid, IntPtr existingDocData, [Runtime::InteropServices::Out] IntPtr % docView, [Runtime::InteropServices::Out] IntPtr % docData, [Runtime::InteropServices::Out] System::String ^ % editorCaption, [Runtime::InteropServices::Out] Guid % cmdUI, [Runtime::InteropServices::Out] int % cancelled);
public virtual int CreateEditorInstance(uint createDocFlags, string moniker, string physicalView, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHier, uint itemid, IntPtr existingDocData, out IntPtr docView, out IntPtr docData, out string editorCaption, out Guid cmdUI, out int cancelled);
abstract member CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
override this.CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
Public Overridable Function CreateEditorInstance (createDocFlags As UInteger, moniker As String, physicalView As String, pHier As IVsHierarchy, itemid As UInteger, existingDocData As IntPtr, ByRef docView As IntPtr, ByRef docData As IntPtr, ByRef editorCaption As String, ByRef cmdUI As Guid, ByRef cancelled As Integer) As Integer

Parametreler

createDocFlags
UInt32

Temel düzenleyicinin hangi koşullar altında oluşturulacağını tanımlayan bayraklar.

moniker
String

Proje sistemindeki belgenin bilinen tanımlayıcısının dize biçimi. Dosya olan belgeler söz konusu olduğunda, bu her zaman dosyanın yoludur. Bu parametre, dosya olmayan belgeleri belirtmek için de kullanılabilir. Örneğin, veritabanı odaklı bir projede bu parametre bir tablodaki kayıtlara başvuran bir dize içerebilir.

physicalView
String

Fiziksel görünümün adı.

pHier
IVsHierarchy

Bir IVsHierarchy nesnesi.

itemid
UInt32

Çekirdek düzenleyici örneğinin öğe tanımlayıcısı.

existingDocData
IntPtr

nativeint

Çalışan Belge Tablosu'nda (RDT) kayıtlı nesne olmalıdır docData . Bu parametre, bir belge arabelleğinin (Belge Verileri nesnesi) önceden oluşturulup oluşturulmadığını belirlemek için kullanılır. Düzenleyici fabrikasının ikincil görünüm oluşturması istendiğinde, bu parametre belge arabelleği olmadığını belirten birNULL parametre olmayacaktır.

docView
IntPtr

nativeint

Belge Görünümü nesnesi. Dış düzenleyici varsa döndürür NULL , aksi takdirde belgenin görünümünü döndürür.

docData
IntPtr

nativeint

Belge Verileri nesnesi. Belge için arabelleği döndürür.

editorCaption
String

Belge penceresi için belge düzenleyicisi tarafından tanımlanan ilk başlık. Bu genellikle "[Form]" gibi köşeli ayraç içine alınmış bir dizedir. Bu değer yöntemine CreateDocumentWindow(UInt32, String, IVsUIHierarchy, UInt32, IntPtr, IntPtr, Guid, String, Guid, IServiceProvider, String, String, Int32[], IVsWindowFrame) giriş parametresi olarak geçirilir. Dosya [ReadOnly] ise, dosyanın yüklenmesi sırasında başlık ayarlanır.

cmdUI
Guid

Komut Kullanıcı Arabirimi GUID'sini döndürür. Bu düzenleyici etkinleştirildiğinde bu GUID etkin olur. Düzenleyicide görünen tüm UI öğelerinin bu GUID'yi kullanması gerekir. Bu GUID, belge etkin olduğunda hangi menülerin ve araç çubuklarının görüntülenmesi gerektiğini gösteren uydu DLL'deki .ctc dosyasında kullanılır.

Döndürülenler

Yöntem başarılı olursa döndürür S_OK. Başarısız olursa bir hata kodu döndürür.

Uygulamalar

Açıklamalar

Bu yöntemin nasıl kullanılacağına ilişkin bir örnek için bkz . İzlenecek yol: Çekirdek Düzenleyici Oluşturma ve Düzenleyici Dosya Türünü Kaydetme.

Şunlara uygulanır