Abrir editores específicos del proyecto

Si un proyecto abre un archivo de elemento está enlazado intrínsecamente al editor concreto de ese proyecto, el proyecto debe abrir el archivo mediante un editor específico del proyecto. El archivo no se puede delegar en el mecanismo del IDE para seleccionar un editor. Por ejemplo, en lugar de usar un editor de mapa de bits estándar, puede usar esta opción de editor específica del proyecto para especificar un editor de mapa de bits específico que reconozca información en el archivo que es único para el proyecto.

El IDE llama al OpenItem método cuando determina que un proyecto específico debe abrir un archivo. Para obtener más información, vea Mostrar archivos mediante el comando Abrir archivo. Use las instrucciones siguientes para implementar el método para que el OpenItem proyecto abra un archivo mediante un editor específico del proyecto.

Para implementar el método OpenItem con un editor específico del proyecto

  1. Llame al FindAndLockDocument método (RDT_EditLock) para determinar si el archivo (objeto de datos del documento) ya está abierto.

    Nota:

    Para obtener más información sobre los datos de documento y los objetos de vista de documentos, vea Datos de documento y vista de documentos en editores personalizados.

  2. Si el archivo ya está abierto, vuelva a presentar el archivo llamando al IsDocumentOpen método y especificando un valor de IDO_ActivateIfOpen para el grfIDO parámetro .

    Si el archivo está abierto y el documento es propiedad de un proyecto distinto del proyecto que realiza la llamada, se mostrará una advertencia al usuario en el que se abre el editor desde otro proyecto. A continuación, se muestra la ventana del archivo.

  3. Si el búfer de texto (objeto de datos de documento) ya está abierto y desea adjuntar otra vista a ella, es responsable de enlazar esa vista. El enfoque recomendado para crear instancias de una vista (objeto de vista de documento) desde el proyecto es el siguiente:

    1. SLocalRegistry Llame QueryService al servicio para obtener un puntero a la ILocalRegistry2 interfaz.

    2. Llame al CreateInstance método para crear una instancia de la clase de vista de documento.

  4. Llame al método y especifique el CreateDocumentWindow objeto de vista de documento.

    Este método sitios el objeto de vista de documento en una ventana de documento.

  5. Realice las llamadas adecuadas a los InitNew métodos o Load .

    En este punto, la vista debe inicializarse completamente y estar lista para abrirse.

  6. Llame al Show método para mostrar y abrir la vista.