Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il modo più semplice e consigliato per creare un'applicazione contenitore di documenti attivi è creare un'applicazione contenitore EXE MFC tramite la Creazione Guidata Applicazione MFC, quindi modificare l'applicazione per supportare il contenimento di documenti attivi.
Per creare un'applicazione contenitore di documenti attiva
Scegliere Progettodal menu File dal sottomenu Nuovo.
Nel riquadro sinistro fare clic su Tipo di progetto Visual C++ .
Selezionare Applicazione MFC nel riquadro destro.
Assegnare al progetto il nome MyProj, fare clic su OK.
Selezionare la pagina Supporto documenti composti .
Selezionare l'opzione Contenitore o Contenitore/Server completo .
Selezionare la casella di controllo Contenitore documento attivo .
Fare clic su Fine.
Al termine della generazione dell'applicazione guidata MFC, aprire i file seguenti usando Esplora soluzioni:
- MyProjview.cpp
In MyProjview.cpp apportare le modifiche seguenti:
In
CMyProjView::OnPreparePrinting
sostituire il contenuto della funzione con il codice seguente:if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrinting
fornisce supporto per la stampa. Questo codice sostituisceDoPreparePrinting
, ovvero la preparazione di stampa predefinita.Il contenimento di documenti attivi offre uno schema di stampa migliorato:
Puoi prima chiamare il documento attivo tramite l'interfaccia
IPrint
e dirgli di stamparsi. Questo comportamento è diverso dal precedente contenimento OLE, in cui il contenitore doveva eseguire il rendering di un'immagine dell'elemento contenuto nell'oggetto stampanteCDC
.In caso di errore, indicare all'elemento contenuto di stamparsi tramite l'interfaccia
IOleCommandTarget
Se ciò non riesce, realizza il tuo proprio rendering dell'elemento.
Le funzioni statiche membro
COleDocObjectItem::OnPrint
eCOleDocObjectItem::OnPreparePrinting
, come implementate nel codice precedente, gestiscono questo schema migliorato di stampa.Aggiungere qualsiasi implementazione personalizzata e compilare l'applicazione.