Udostępnij przez


Tworzenie aplikacji kontenera aktywnego dokumentu

Najprostszym i najbardziej zalecanym sposobem utworzenia aktywnej aplikacji kontenera dokumentów jest utworzenie aplikacji kontenera MFC EXE przy użyciu Kreatora aplikacji MFC, a następnie zmodyfikowanie aplikacji w celu obsługi przechowywania aktywnych dokumentów.

Aby utworzyć aktywną aplikację kontenera dokumentów

  1. W menu Plik kliknij pozycję Projektz podmenu Nowy .

  2. W okienku po lewej stronie kliknij pozycję Typ projektu Visual C++ .

  3. Wybierz pozycję Aplikacja MFC w okienku po prawej stronie.

  4. Nadaj projektowi nazwę MyProj, kliknij przycisk OK.

  5. Wybierz stronę Obsługa dokumentów złożonych .

  6. Wybierz opcję Kontener lub Kontener/Pełny serwer .

  7. Zaznacz pole wyboru Aktywny kontener dokumentów .

  8. Kliknij przycisk Finish (Zakończ).

  9. Gdy Kreator aplikacji MFC zakończy generowanie aplikacji, otwórz następujące pliki przy użyciu Eksploratora rozwiązań:

    • MyProjview.cpp
  10. W MyProjview.cpp wprowadź następujące zmiany:

    • W CMyProjView::OnPreparePrintingpliku zastąp zawartość funkcji następującym kodem:

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

    OnPreparePrinting zapewnia obsługę drukowania. Ten kod zastępuje DoPreparePrinting, element który jest domyślnym przygotowaniem wydruku.

    Zawieranie aktywnych dokumentów zapewnia ulepszony schemat drukowania:

    • Najpierw możesz wywołać aktywny dokument za pośrednictwem jego IPrint interfejsu i poinformować go, aby wydrukował sam dokument. Różni się to od poprzedniego zawierania OLE, w którym kontener musiał renderować obraz zawartego elementu na obiekcie drukarki CDC .

    • Jeśli to się nie powiedzie, poinformuj zawarty element, aby wydrukował się za pośrednictwem interfejsu IOleCommandTarget

    • Jeśli to się nie powiedzie, utwórz własne renderowanie elementu.

    Statyczne funkcje składowe COleDocObjectItem::OnPrint i COleDocObjectItem::OnPreparePrinting, zgodnie z implementacją w poprzednim kodzie, obsługują ten ulepszony schemat drukowania.

  11. Dodaj własną implementację i skompiluj aplikację.

Zobacz także

Aktywne kontrolowanie dokumentów