Freigeben über


Erstellen einer Containeranwendung für aktive Dokumente

Die einfachste und empfohlene Möglichkeit, eine Active Document-Container-Anwendung zu erstellen, besteht eine Containeranwendung MFC EXE-Datei mit dem MFC-Anwendungs-Assistenten zu erstellen, ändert sich die Anwendung, Active Document-Einschluss zu unterstützen.

So eine Active Document-Container-Anwendung erstellen

  1. Wählen Sie im Menü Datei klicken Sie auf im Untermenü Neu auf Projekt.

  2. Wählen Sie im linken Bereich klicken Sie auf Visual C++ Projekttyp.

  3. Wählen Sie im rechten Bereich MFC-Anwendung aus.

  4. Nennen Sie das Projekt MyProj, klicken Sie auf OK.

  5. Wählen Sie die Seite Verbunddokumente aus.

  6. Wählen Sie Container oder die Option Container/Vollserver aus.

  7. Aktivieren Sie das Kontrollkästchen Active Document-Container.

  8. Klicken Sie auf Fertig stellen.

  9. Wenn der MFC-Anwendungs-Assistent beendet, die Anwendung zu generieren, öffnen Sie die folgenden Dateien im Projektmappen-Explorer:

    • MyProjview.cpp
  10. In MyProjview.cpp nehmen Sie die folgenden Änderungen vor:

    • Ersetzen Sie in CMyProjView::OnPreparePrinting den Funktionsinhalt durch folgenden Code:

          if (!CView::OnPreparePrinting(pInfo))
              return FALSE;
      
          if (!COleDocObjectItem::OnPreparePrinting(this, pInfo))
              return FALSE;
      
          return TRUE;
      

    OnPreparePrinting bietet Druckunterstützung. Dieser Code ersetzt DoPreparePrinting, der die Standarddruckvorbereitung ist.

    Active Document-Einschluss stellt ein verbessertes Druckschema:

    • Sie können zuerst das aktive Dokument durch seine IPrint-Schnittstelle und sie zu veranlassen, um sich zu drucken. Dies ist zu vorherigen OLE-Kapselung unterschiedlich, in der dem Container ein Bild des Elements auf das Drucker CDC-Objekt rendern musste.

    • Wenn dies fehlschlägt, teilen Sie das enthaltende Element mit, um sich durch ihre IOleCommandTarget-Schnittstelle zu drucken

    • Wenn dies fehlschlägt, können Sie Ihr eigenes Rendering vom Element.

    Die statischen Memberfunktionen COleDocObjectItem::OnPrint und COleDocObjectItem::OnPreparePrinting, wie im vorherigen Code implementiert, behandeln dieses verbesserte Druckschema.

  11. Fügen Sie jeder Implementierung von eigenen hinzu und erstellen Sie die Anwendung.

Siehe auch

Konzepte

Active Document-Container