Freigeben über


Erstellen einer Active Document-Container-Anwendung

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

So erstellen Sie eine Active Document-Container-Anwendung

  1. Zeigen Sie im Menü DateiProjektUntermenü Neu.

  2. Klicken Sie im linken Bereich auf Visual C++ Projekttyp.

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

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

  5. Wählen Sie die Seite Verbunddokumente aus.

  6. Wählen Sie die Container oder Option Container/Voll-Server aus.

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

  8. Klicken Sie auf Fertig stellen.

  9. Wenn der MFC-Anwendungs-Assistent beendet, um die Anwendung zu generieren, öffnen Sie die folgenden Dateien mithilfe des Projektmappen-Explorers:

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

    • In CMyProjView::OnPreparePrinting die Funktion ersetzen Sie den Inhalt durch den folgenden Code:

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

    OnPreparePrinting Druckunterstützung bereitgestellt.Dieser Code ersetzt DoPreparePrinting, der die standardmäßige Drucken Vorbereitung befindet.

    Active Document-Einschluss bietet ein optimiertes druckendes Schema:

    • Sie können zuerst das aktive Dokument nach seiner IPrint-Schnittstelle und diese zu übermitteln, um sich selbst zu drucken.Dies ist mit vorheriger OLE-Kapselung unterschiedlich, in der der Container ein Bild des enthaltenden Elements auf das Objekt CDC Drucker rendern musste.

    • Wenn dies fehlschlägt, weisen Sie das enthaltende Element an, die sich durch ihre IOleCommandTarget-Schnittstelle zum Drucken

    • Wenn dies fehlschlägt, führen Sie ein eigenes Rendering des Elements.

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

  11. Fügen Sie eine eigene Implementierung hinzu, und erstellen Sie die Anwendung.

Siehe auch

Konzepte

Active Document-Einschluss