Comment : ouvrir des éditeurs spécifiques du projetHow to: Open project-specific editors

Si un fichier de l’élément en cours d’ouverture par un projet est intrinsèquement lié à l’éditeur pour ce projet particulier, le projet doit ouvrir le fichier à l’aide d’un éditeur spécifique au projet.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. Le fichier ne peut pas être délégué au mécanisme de l’IDE pour la sélection d’un éditeur.The file cannot be delegated down to the IDE's mechanism for selecting an editor. Par exemple, au lieu d’utiliser un éditeur de bitmaps standard, vous pouvez utiliser cette option d’éditeur spécifiques au projet pour spécifier un éditeur de bitmaps spécifique qui reconnaît les informations contenues dans le fichier qui est unique à votre projet.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.

Les appels de l’IDE le OpenItem méthode lorsqu’il détermine qu’un fichier doit être ouvert par un projet spécifique.The IDE calls the OpenItem method when it determines that a file should be opened by a specific project. Pour plus d’informations, consultez afficher des fichiers à l’aide de la commande Ouvrir un fichier.For more information, see Display files by using the Open File command. Utilisez les instructions suivantes pour implémenter le OpenItem méthode pour que votre projet à ouvrir un fichier à l’aide d’un éditeur spécifique au projet.Use the following guidelines to implement the OpenItem method to have your project open a file by using a project-specific editor.

Pour implémenter la méthode OpenItem avec un éditeur spécifique au projetTo implement the OpenItem method with a project-specific editor

  1. Appelez le FindAndLockDocument (méthode) (RDT_EditLock) pour déterminer si le fichier (objet de données de document) est déjà ouvert.Call the FindAndLockDocument method (RDT_EditLock) to determine whether the file (document data object) is already open.

    Note

    Pour plus d’informations sur les données de document et les objets de vue de document, consultez Document de vue de données et de documents dans les éditeurs personnalisés.For more information about document data and document view objects, see Document data and document view in custom editors.

  2. Si le fichier est déjà ouvert, resurface le fichier en appelant le IsDocumentOpen méthode et en spécifiant une valeur de IDO_ActivateIfOpen pour le grfIDO paramètre.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 le fichier est ouvert et que le document est détenu par un projet autre que le projet appelant, un avertissement s’affichera à l’utilisateur qui est de l’éditeur en cours d’ouverture d’un autre projet.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. La fenêtre de fichier est ensuite présentée.The file window is then surfaced.

  3. Si votre mémoire tampon de texte (objet de données de document) est déjà ouvert et vous souhaitez attacher une autre vue à celui-ci, vous êtes responsable de raccorder à cette vue.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. L’approche recommandée pour l’instanciation d’une vue (objet de vue de document) à partir du projet, est la suivante :The recommended approach to instantiating a view (document view object) from the project, is as follows:

    1. Appelez QueryService sur le SLocalRegistry service afin d’obtenir un pointeur vers le ILocalRegistry2 interface.Call QueryService on the SLocalRegistry service to get a pointer to the ILocalRegistry2 interface.

    2. Appelez le CreateInstance méthode pour créer une instance de la classe de vue de document.Call the CreateInstance method to create an instance of the document view class.

  4. Appelez le CreateDocumentWindow méthode, en spécifiant votre objet de vue de document.Call the CreateDocumentWindow method, specifying your document view object.

    Cette méthode sites l’objet de vue de document dans une fenêtre de document.This method sites the document view object in a document window.

  5. Effectuer les appels appropriés aux soit le InitNew ou Load méthodes.Perform the appropriate calls to either the InitNew or the Load methods.

    À ce stade, la vue doit être entièrement initialisé et prêt à être ouvert.At this point, the view should be fully initialized and ready to be opened.

  6. Appelez le Show méthode pour afficher et ouvrir la vue.Call the Show method to show and open the view.

Voir aussiSee also

Ouvrir et enregistrer des éléments de projet Open and Save project items
Comment : ouvrir des éditeurs standard How to: Open standard editors
Comment : ouvrir des éditeurs pour les documents ouvertsHow to: Open editors for open documents