Ouvrir des éditeurs spécifiques au projet

Si un fichier d’élément ouvert par un projet est intrinsèquement lié à l’éditeur particulier de ce projet, le projet doit ouvrir le fichier à l’aide d’un éditeur spécifique au projet. Le fichier ne peut pas être délégué au mécanisme de l’IDE pour sélectionner un éditeur. Par exemple, au lieu d’utiliser un éditeur bitmap standard, vous pouvez utiliser cette option d’éditeur spécifique au projet pour spécifier un éditeur bitmap spécifique qui reconnaît les informations dans le fichier unique à votre projet.

L’IDE appelle la OpenItem méthode lorsqu’elle détermine qu’un fichier doit être ouvert par un projet spécifique. Pour plus d’informations, consultez Afficher les fichiers à l’aide de la commande Ouvrir un fichier. Utilisez les instructions suivantes pour implémenter la OpenItem méthode pour que votre projet ouvre un fichier à l’aide d’un éditeur spécifique au projet.

Pour implémenter la méthode OpenItem avec un éditeur spécifique au projet

  1. Appelez la FindAndLockDocument méthode (RDT_EditLock) pour déterminer si le fichier (objet de données de document) est déjà ouvert.

    Remarque

    Pour plus d’informations sur les données de document et les objets de vue de document, consultez Données de document et vue de document dans les éditeurs personnalisés.

  2. Si le fichier est déjà ouvert, ressurvrez le fichier en appelant la IsDocumentOpen méthode et en spécifiant une valeur de IDO_ActivateIfOpen pour le grfIDO paramètre.

    Si le fichier est ouvert et que le document appartient à un projet autre que le projet appelant, un avertissement s’affiche à l’utilisateur que l’éditeur en cours d’ouverture provient d’un autre projet. La fenêtre de fichier est ensuite exposée.

  3. Si votre mémoire tampon de texte (objet de données de document) est déjà ouverte et que vous souhaitez y attacher une autre vue, vous êtes responsable du raccordement de cette vue. L’approche recommandée pour instancier une vue (objet d’affichage de document) à partir du projet est la suivante :

    1. Appelez QueryService le SLocalRegistry service pour obtenir un pointeur vers l’interface ILocalRegistry2 .

    2. Appelez la CreateInstance méthode pour créer une instance de la classe d’affichage de document.

  4. Appelez la CreateDocumentWindow méthode, en spécifiant votre objet d’affichage de document.

    Cette méthode site l’objet d’affichage de document dans une fenêtre de document.

  5. Effectuez les appels appropriés aux méthodes ou aux InitNewLoad méthodes.

    À ce stade, la vue doit être entièrement initialisée et prête à être ouverte.

  6. Appelez la Show méthode pour afficher et ouvrir la vue.