Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die einfachste und am einfachsten empfohlene Methode zum Erstellen einer aktiven Dokumentcontaineranwendung besteht darin, eine MFC EXE-Containeranwendung mit dem MFC-Anwendungs-Assistenten zu erstellen und dann die Anwendung so zu ändern, dass aktive Dokumenteindämmung unterstützt wird.
So erstellen Sie eine aktive Dokumentcontaineranwendung
Klicken Sie im Menü "Datei" im Untermenü "Neu" auf "Projekt".
Klicken Sie im linken Bereich auf den Visual C++ -Projekttyp.
Wählen Sie im rechten Bereich die MFC-Anwendung aus.
Nennen Sie das Projekt "MyProj", klicken Sie auf "OK".
Wählen Sie die Seite "Verbunddokumentunterstützung" aus .
Wählen Sie die Option "Container" oder "Container/Full-Server " aus.
Aktivieren Sie das Kontrollkästchen "Aktiver Dokumentcontainer" .
Klicken Sie auf Fertig stellen.
Wenn der MFC-Anwendungs-Assistent die Generierung der Anwendung beendet hat, öffnen Sie die folgenden Dateien mit dem Projektmappen-Explorer:
- MyProjview.cpp
Nehmen Sie in MyProjview.cpp die folgenden Änderungen vor:
In
CMyProjView::OnPreparePrintingersetzen Sie den Funktionsinhalt durch den folgenden Code:if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrintingbietet Druckunterstützung. Dieser Code ersetztDoPreparePrinting, die Standarddruckvorbereitung.Aktive Dokumenteindämmung bietet ein verbessertes Druckschema:
Sie können das aktive Dokument zuerst über die
IPrintBenutzeroberfläche aufrufen und es anweisen, sich selbst zu drucken. Dies unterscheidet sich von der vorherigen OLE-Eindämmung, in der der Container ein Bild des enthaltenen Elements auf dem DruckerobjektCDCrendern musste.Wenn das nicht funktioniert, weisen Sie das enthaltene Element über seine
IOleCommandTargetSchnittstelle an, selbst zu druckenWenn dies fehlschlägt, erstellen Sie ihr eigenes Rendering des Elements.
Die statischen Memberfunktionen
COleDocObjectItem::OnPrintundCOleDocObjectItem::OnPreparePrinting, wie im vorherigen Code implementiert, behandeln dieses verbesserte Druckschema.Fügen Sie eine eigene Implementierung hinzu, und erstellen Sie die Anwendung.