Comment : Éditeurs de norme ouverte
Lorsque vous ouvrez un éditeur standard, vous laissez l'IDE déterminer un éditeur standard pour un type de fichier indiqué, au lieu de spécifier un éditeur spécifique aux projets pour le fichier.
Effectuez la procédure suivante pour implémenter la méthode d' OpenItem . Cela ouvre un fichier projet dans un éditeur standard.
Pour implémenter la méthode d'OpenItem avec un éditeur standard
Appelez IVsRunningDocumentTable (RDT_EditLock) pour déterminer si le fichier objet de données du document est déjà ouvert.
Si le fichier est déjà ouvert, reblanchissez le fichier en appelant la méthode d' IsDocumentOpen , en spécifiant une valeur d' IDO_ActivateIfOpen pour le paramètre d' grfIDO .
Si le fichier est ouvert et le document est détenu par un projet différent du projet appelant, votre projet accepte un avertissement indiquant que l'éditeur est ouvert est d'un autre projet. La fenêtre de fichier est ensuite apprêtée.
Si le document n'est pas ouvert ou non dans le tableau en cours de exécution de document, appelez la méthode d' OpenStandardEditor (OSE_ChooseBestStdEditor) pour ouvrir un éditeur standard pour le fichier.
Lorsque vous appelez la méthode, l'IDE exécute les tâches suivantes :
L'IDE analyse la sous-clé d'éditeurs guidEditorType {} /Extensions dans le Registre pour déterminer quel éditeur peut ouvrir le fichier et a la priorité la plus élevée pour ce faire.
Après que l'IDE a déterminé quel éditeur peut ouvrir le fichier, l'IDE appelle l' CreateEditorInstance. L'implémentation de l'éditeur de cette méthode retourne les informations requises pour que l'IDE appelle l' CreateDocumentWindow et de pour naviguer jusqu ' à le document récemment ouvert.
Enfin, l'IDE charge le document à l'aide de l'interface habituelle de persistance, telle qu' IVsPersistDocData2.
Si l'IDE précédemment a déterminé que la hiérarchie ou l'élément de hiérarchie est disponible, l'IDE appelle la méthode d' GetItemContext sur le projet d'obtenir un pointeur d' IServiceProvider de contexte de niveau projet à retourner dans avec l'appel de méthode d' CreateDocumentWindow .
Retournez plutôt un pointeur d' IServiceProvider à l'IDE lorsque l'IDE appelle l' GetItemContext sur votre projet si vous souhaitez quitter le contexte get de l'éditeur de votre projet.
Exécuter cette étape permet de les services supplémentaires d'offrir de projet dans l'éditeur.
Si l'objet de vue du document ou de document a été correctement trouve dans un frame de fenêtre, l'objet est initialisé avec ses données en appelant LoadDocData.
Voir aussi
Tâches
Comment : Ouvrez les éditeurs spécifiques au projet
Comment : Ouvrez les éditeurs pour les documents ouverts
Référence
Concepts
Afficher les fichiers à l'aide de la commande de fichier ouvert