Condividi tramite


Creazione di un'applicazione contenitore di documenti attivi

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

  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. Al termine della generazione dell'applicazione guidata MFC, aprire i file seguenti usando Esplora soluzioni:

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

    • In CMyProjView::OnPreparePrintingsostituire 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 sostituisce DoPreparePrinting, 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 stampante CDC .

    • 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 e COleDocObjectItem::OnPreparePrinting, come implementate nel codice precedente, gestiscono questo schema migliorato di stampa.

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

Vedere anche

Contenimento Attivo del Documento