Cómo: abrir editores específica del proyectoHow to: Open Project-Specific Editors

Si un archivo de elemento que se está abriendo un proyecto intrínsecamente está enlazado al editor determinado para ese proyecto, el proyecto debe abrir el archivo con un editor específico del proyecto.If an item file being opened by a project is intrinsically bound to the particular editor for that project, the project must open the file by using a project-specific editor. El archivo no se puede delegar hasta del mecanismo del IDE para la selección de un editor.The file cannot be delegated down to the IDE's mechanism for selecting an editor. Por ejemplo, en lugar de utilizar un editor de mapa de bits estándar, puede usar esta opción de editor específico del proyecto para especificar un editor de mapa de bits específico que reconoce la información en el archivo que es único para el proyecto.For example, instead of using a standard bitmap editor, you can use this project-specific editor option to specify a specific bitmap editor that recognizes information in the file that is unique to your project.

Las llamadas IDE el OpenItem método cuando determina que se debe abrir un archivo de un proyecto específico.The IDE calls the OpenItem method when it determines that a file should be opened by a specific project. Para obtener más información, consulte mostrar archivos mediante el comando archivo abrir.For more information, see Displaying Files By Using the Open File Command. Utilice las siguientes directrices para implementar la OpenItem método para que el proyecto abra un archivo con un editor específico del proyecto.Use the following guidelines to implement the OpenItem method to have your project open a file by using a project-specific editor.

Para implementar el método OpenItem con un editor específico del proyectoTo implement the OpenItem method with a project-specific editor

  1. Llame a la FindAndLockDocument (método) (RDT_EditLock) para determinar si el archivo (objeto de datos de documento) ya está abierto.Call the FindAndLockDocument method (RDT_EditLock) to determine whether the file (document data object) is already open.

    Nota

    Para obtener más información sobre datos del documento y los objetos de vista de documento, consulte datos del documento y vista de documento en editores personalizados.For more information about document data and document view objects, see Document Data and Document View in Custom Editors.

  2. Si el archivo ya está abierto, reaparece el archivo mediante una llamada a la IsDocumentOpen método y especificando un valor de IDO_ActivateIfOpen para el grfIDO parámetro.If the file is already open, resurface the file by calling the IsDocumentOpen method and specifying a value of IDO_ActivateIfOpen for the grfIDO parameter.

    Si el archivo está abierto y el documento pertenece a un proyecto distinto del que realiza la llamada, se mostrará una advertencia al usuario que sea el editor que se está abriendo desde otro proyecto.If the file is open and the document is owned by a project other than the calling project, a warning will be displayed to the user that the editor being opened is from another project. A continuación, aparece la ventana de archivo.The file window is then surfaced.

  3. Si el búfer de texto (objeto de datos de documento) ya está abierto y que desea conectar otra vista a ella, es responsabilidad suya enlazar esa vista.If your text buffer (document data object) is already open and you want to attach another view to it, you are responsible for hooking up that view. El método recomendado para crear instancias de una vista (objeto de vista de documento) desde el proyecto, es como sigue:The recommended approach to instantiating a view (document view object) from the project, is as follows:

    1. Llame a QueryService en el SLocalRegistry servicio para obtener un puntero a la ILocalRegistry2 interfaz.Call QueryService on the SLocalRegistry service to get a pointer to the ILocalRegistry2 interface.

    2. Llame a la CreateInstance método para crear una instancia de la clase de vista de documento.Call the CreateInstance method to create an instance of the document view class.

  4. Llame a la CreateDocumentWindow método, especificando el objeto de vista de documento.Call the CreateDocumentWindow method, specifying your document view object.

    Este método sitios el objeto de vista de documento en una ventana de documento.This method sites the document view object in a document window.

  5. Realizar las llamadas adecuadas a cualquiera la InitNew o Load métodos.Perform the appropriate calls to either the InitNew or the Load methods.

    En este momento, la vista debe ser totalmente inicializado y listo para abrirse.At this point, the view should be fully initialized and ready to be opened.

  6. Llame a la Show método para mostrar y abrir la vista.Call the Show method to show and open the view.

Vea tambiénSee Also

Abrir y guardar elementos de proyecto Opening and Saving Project Items
Cómo: abrir editores estándares How to: Open Standard Editors
Apertura de editores para documentos abiertosHow to: Open Editors for Open Documents