Erstellen einer Containeranwendung für aktive Dokumente
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 Projektmappen-Explorer:
- MyProjview.cpp
Nehmen Sie in MyProjview.cpp die folgenden Änderungen vor:
Ersetzen
CMyProjView::OnPreparePrinting
Sie in , den Funktionsinhalt durch den folgenden Code:if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrinting
bietet Druckunterstützung. Dieser Code ersetztDoPreparePrinting
die Standarddruckvorbereitung.Aktive Dokumenteindämmung bietet ein verbessertes Druckschema:
Sie können das aktive Dokument zuerst über die
IPrint
Benutzeroberflä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 DruckerobjektCDC
rendern musste.Wenn dies fehlschlägt, weisen Sie das enthaltene Element an, sich über die
IOleCommandTarget
Benutzeroberfläche zu drucken.Wenn dies fehlschlägt, erstellen Sie ihr eigenes Rendering des Elements.
Die statischen Memberfunktionen
COleDocObjectItem::OnPrint
undCOleDocObjectItem::OnPreparePrinting
, wie im vorherigen Code implementiert, behandeln dieses verbesserte Druckschema.Fügen Sie eine eigene Implementierung hinzu, und erstellen Sie die Anwendung.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für