Partager via


ATLEventHandling, exemple : gère les événements Word avec IDispEventImpl et IDispEventSimpleImpl

Mise à jour : novembre 2007

L'exemple ATLEventHandling illustre l'utilisation de IDispEventImpl et de IDispEventSimpleImpl pour gérer des événements déclenchés par Microsoft Word.

L'exemple est constitué d'un projet ATL comprenant deux classes COM : CSimple et CNotSoSimple. Ces classes représentent des objets COM qui affichent un message en réponse à des événements de modification de documents déclenchés par Microsoft Word. CSimple montre comment gérer des événements au moyen du modèle de classe IDispEventSimpleImpl d'ATL, et CNotSoSimple montre comment gérer des événements à l'aide du modèle de classe ATL IDispEventImpl. Le code des deux classes est identique, à l'exception des différences dues à l'utilisation des différents modèles ATL.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page Visual Studio 2008 Samples.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Des exemples et un fichier Readme sont stockés par défaut dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont disponibles en ligne.

Génération et exécution de l'exemple

Remarque :

Cet exemple requiert l'installation de Microsoft Office 2000. Si vous utilisez d'autres versions de Microsoft Office, vous devez spécifier le chemin d'accès au fichier dll mso référencé dans le fichier StdAfx.h, sous le répertoire ATLEventHandling. Par exemple, Office 2000 utilise mso9.dll tandis qu'Office XP utilise mso.dll.

Pour générer et exécuter cet exemple

  1. Ouvrez le fichier solution ATLEventHandling.sln.

  2. Si vous utilisez Excel 2000, modifiez la ligne suivante dans StdAfx.h :

    #define OFFICE_VER OFFICEXP
    

    pour qu'elle indique :

    #define OFFICE_VER OFFICE2000
    
  3. Dans le menu Générer, cliquez sur Générer la solution.

  4. Exécutez MFCClient.exe.

Une boîte de dialogue contenant une zone de liste déroulante s'affiche, vous permettant d'exécuter le test en utilisant IDispEventImpl ou IDispEventSimpleImpl. Sélectionnez l'un de ces éléments, puis cliquez sur le bouton Démarrer. Si Microsoft Word est installé sur votre ordinateur, une nouvelle instance sera chargée et le composant de test commencera à recevoir des événements envoyés par Word à chaque modification du document actif.

Vous pouvez déclencher des événements en créant de nouveaux documents, en chargeant des documents ou en basculant vers un document différent via le menu Fenêtre de Word. À chaque fois que le document est modifié, une zone de message s'affiche et indique quel composant reçoit les événements ainsi que le nom du nouveau document actif. Vous pouvez déconnecter le gestionnaire d'événements de l'instance de Word en utilisant le bouton Stop ou la boîte de dialogue MFCClient, en changeant la sélection de la zone de liste ou en fermant Word.

Fermez l'application exemple en utilisant les boutons de commande OK ou Annuler ou le bouton Fermer de la boîte de dialogue.

Mots clés

Cet exemple utilise les mots clés suivants :

_ATL_FUNC_INFO, BEGIN_SINK_MAP, END_SINK_MAP, SINK_ENTRY_EX, SINK_ENTRY_INFO, IDispEventImpl, IDispEventSimpleImpl, IDispEventSimpleImpl::DispEventAdvise, IDispEventSimpleImpl::DispEventUnadvise

Voir aussi

Autres ressources

Exemples ATL