Dela via


Skapa ett aktivt dokumentcontainerprogram

Det enklaste och mest rekommenderade sättet att skapa ett aktivt dokumentcontainerprogram är att skapa ett MFC EXE-containerprogram med hjälp av MFC-programguiden och sedan ändra programmet så att det stöder aktiv dokument inneslutning.

Skapa ett aktivt dokumentcontainerprogram

  1. menyn Arkiv klickar du på Projektfrån undermenyn Nytt .

  2. I den vänstra rutan klickar du på Visual C++ -projekttyp.

  3. Välj MFC-program i den högra rutan.

  4. Ge projektet namnet MyProj och klicka på OK.

  5. Välj sidan Stöd för sammansatt dokument .

  6. Välj alternativet Container eller Container/Full-server .

  7. Markera kryssrutan Aktiv dokumentcontainer.

  8. Klicka på Finish.

  9. När MFC-programguiden är klar med att generera programmet öppnar du följande filer med Solution Explorer:

    • MyProjview.cpp
  10. I MyProjview.cpp gör du följande ändringar:

    • I CMyProjView::OnPreparePrintingersätter du funktionsinnehållet med följande kod:

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

    OnPreparePrinting tillhandahåller utskriftsstöd. Den här koden ersätter DoPreparePrinting, vilket är standardförberedelsen av utskrift.

    Aktiv dokument inneslutning ger ett förbättrat utskriftsschema:

    • Du kan först anropa det aktiva dokumentet via dess IPrint gränssnitt och be det att skriva ut sig själv. Detta skiljer sig från tidigare OLE-inneslutning, där containern var tvungen att återge en bild av det inneslutna objektet på skrivarobjektet CDC .

    • Om det misslyckas ber du det inneslutna objektet att skriva ut sig självt via gränssnittet IOleCommandTarget

    • Om det misslyckas gör du en egen återgivning av objektet.

    De statiska medlemsfunktionerna COleDocObjectItem::OnPrint och COleDocObjectItem::OnPreparePrinting, som implementerades i föregående kod, hanterar det här förbättrade utskriftsschemat.

  11. Lägg till en egen implementering och skapa programmet.

Se även

Aktiv dokumentinnehållning