Freigeben über


ATLEventHandling-Beispiel: Bearbeitet Word-Ereignisse mit "IDispEventImpl" und "IDispEventSimpleImpl"

Aktualisiert: November 2007

Das ATLEventHandling-Beispiel veranschaulicht die Verwendung von IDispEventImpl und IDispEventSimpleImpl für die Behandlung von Ereignissen, die von Microsoft Word ausgelöst wurden.

Das Beispiel besteht aus einem ATL-Projekt mit zwei COM-Klassen: CSimple und CNotSoSimple. Diese Klassen stellen COM-Objekte dar, die mit einem Meldungsfeld auf von Microsoft Word ausgelöste Dokumentänderungsereignisse reagieren. CSimple veranschaulicht die Ereignisbehandlung mit der IDispEventSimpleImpl-Klassenvorlage von ATL und CNotSoSimple die Behandlung mit der IDispEventImpl-Klassenvorlage von ATL. Der Code in diese beiden Klassen ist identisch, abgesehen von den Unterschieden, die durch die Verwendung der verschiedenen ATL-Vorlagen hervorgerufen werden.

Sicherheitshinweis:

Dieser Beispielcode dient dazu, ein Konzept zu veranschaulichen. Er sollte nicht für Anwendungen oder Websites verwendet werden, da dieser Code unter Umständen nicht die sicherste Codierungstechnik darstellt. Microsoft übernimmt keine Haftung für beiläufig entstandene Schäden oder Folgeschäden, falls der Beispielcode nicht bestimmungsgemäß verwendet wird.

So rufen Sie Beispiele und Anweisungen für ihre Installation ab

  • Klicken Sie in Visual Studio im Menü Hilfe auf Beispiele.

    Weitere Informationen finden Sie unter Suchen von Beispieldateien.

  • Die neueste Version und vollständige Liste mit Beispielen ist online unter Visual Studio 2008 Samples verfügbar.

  • Sie können auch Beispiele auf der Festplatte des Computers suchen. Standardmäßig werden Beispiele und eine Infodatei in einen Ordner unter \Programme\Visual Studio 9.0\Samples\ kopiert. Für Express Editions von Visual Studio sind alle Beispiele online verfügbar.

Erstellen und Ausführen des Beispiels

Hinweis:

Für dieses Beispiel muss Microsoft Office 2000 installiert sein. Wenn Sie dieses Beispiel mit anderen Microsoft Office-Versionen verwenden möchten, müssen Sie den Pfad zur Datei mso.dll angeben, auf die in der Datei StdAfx.h im Verzeichnis ATLEventHandling verwiesen wird. Office 2000 verwendet beispielsweise mso9.dll und Office XP mso.dll.

So erstellen Sie dieses Beispiel und führen es aus

  1. Öffnen Sie die Projektmappendatei ATLEventHandling.sln.

  2. Wenn Sie Excel 2000 verwenden, ändern Sie in StdAfx.h die folgende Zeile:

    #define OFFICE_VER OFFICEXP
    

    in:

    #define OFFICE_VER OFFICE2000
    
  3. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

  4. Führen Sie MFCClient.exe aus.

Es wird ein Dialogfeld mit einer Dropdownliste angezeigt, das es Ihnen ermöglicht, den Test mit IDispEventImpl oder IDispEventSimpleImpl durchzuführen. Wählen Sie eines dieser Elemente aus, und klicken Sie anschließend auf die Schaltfläche Starten. Wenn Microsoft Word auf dem Computer installiert ist, wird eine neue Instanz geladen, und die Testkomponente empfängt bei jeder Änderung des aktiven Dokuments Ereignisse von Word.

Sie können Ereignisse auslösen, indem Sie neue Dokumente erstellen, Dokumente laden oder mit dem Word-Menü Fenster zu einem anderen Dokument wechseln. Beim Ändern eines Dokuments wird ein Meldungsfeld geöffnet, in dem die Komponente, die die Ereignisse empfängt, sowie der Name des nun aktiven Dokuments angezeigt werden. Sie können den Ereignishandler von der Word-Instanz trennen, indem Sie im Dialogfeld MFCClient auf die Schaltfläche Anhalten klicken, die Auswahl in der Dropdownliste ändern oder Word beenden.

Beenden Sie die Beispielanwendung. Dafür können Sie auf die Befehlsschaltfläche OK bzw. Abbrechen oder auf die Schaltfläche Schließen des Dialogfelds klicken.

Schlüsselwörter

In diesem Beispiel werden die folgenden Schlüsselwörter verwendet:

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

Siehe auch

Weitere Ressourcen

ATL-Beispiele