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
Wählen Sie im Menü Datei klicken Sie auf im Untermenü Neu auf Projekt.
Wählen Sie im linken Bereich klicken Sie auf Visual C++ Projekttyp.
Wählen Sie im rechten Bereich MFC-Anwendung aus.
Nennen Sie das Projekt MyProj, klicken Sie auf OK.
Wählen Sie die Seite Verbunddokumente aus.
Wählen Sie Container oder die Option Container/Vollserver aus.
Aktivieren Sie das Kontrollkästchen Active Document-Container.
Klicken Sie auf Fertig stellen.
Wenn der MFC-Anwendungs-Assistent beendet, die Anwendung zu generieren, öffnen Sie die folgenden Dateien im Projektmappen-Explorer:
- MyProjview.cpp
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.
Fügen Sie jeder Implementierung von eigenen hinzu und erstellen Sie die Anwendung.