Condividi tramite


Creazione di un'applicazione contenitore di documenti attivi

Il modo più semplice e consigliato per creare un'applicazione contenitore di documenti attivi consiste nel creare un'applicazione contenitore EXE MFC mediante la Creazione guidata applicazione MFC, quindi modificare l'applicazione per supportare il contenimento dei documenti attivi.

Per creare un'applicazione contenitore di documenti attivi

  1. Scegliere Progettodal menu File dal sottomenu Nuovo.

  2. Nel riquadro sinistro fare clic su Tipo di progetto Visual C++ .

  3. Selezionare Applicazione MFC nel riquadro destro.

  4. Assegnare al progetto il nome MyProj, fare clic su OK.

  5. Selezionare la pagina Supporto documenti composti.

  6. Selezionare l'opzione Contenitore o Contenitore/Server completo.

  7. Selezionare la casella di controllo Contenitore documento attivo.

  8. Fare clic su Fine.

  9. Una volta completata la generazione dell'applicazione tramite la Creazione guidata applicazione MFC, aprire i seguenti file in Esplora soluzioni:

    • MyProjview.cpp
  10. In MyProjview.cpp apportare le modifiche seguenti:

    • In CMyProjView::OnPreparePrinting sostituire il contenuto della funzione con il seguente codice:

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

    OnPreparePrinting fornisce il supporto di stampa. Questo codice sostituisce DoPreparePrinting, ovvero la preparazione predefinita alla stampa.

    Il contenimento del documento attivo fornisce uno schema di stampa avanzato:

    • È prima possibile chiamare il documento attivo tramite l'interfaccia IPrint e indicare a se stesso 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 stampante CDC .

    • In caso di errore, indicare all'elemento contenuto di stamparsi tramite l'interfaccia IOleCommandTarget

    • Se l'operazione fallisce, eseguire il rendering dell'elemento.

    Le funzioni membro statiche COleDocObjectItem::OnPrint e COleDocObjectItem::OnPreparePrinting, come implementate nel codice precedente, gestiscono questo schema di stampa avanzato.

  11. Aggiungere qualsiasi implementazione personalizzata e compilare l'applicazione.

Vedi anche

Contenimento dei documenti attivi