Compartilhar via


Criando um documento ativo aplicativo contêiner

A maneira mais simples e mais recomendada para criar um documento ativo aplicativo contêiner é criar um EXE do MFC aplicativo contêiner usando o Assistente de aplicativo MFC, em seguida, modificar o aplicativo para oferecer suporte a contenção do documento ativo.

Para criar um aplicativo de contêiner do documento ativo

  1. From the File menu, click Projectfrom the New submenu.

  2. No painel esquerdo, clicar O Visual C++ tipo de projeto.

  3. selecionar Aplicativo MFC no painel da direita.

  4. Nomeie o projeto MyProj, clicar OK.

  5. selecionar o Compostos de suporte do documento página.

  6. selecionar o Recipiente or Contêiner/Full-servidor opção.

  7. selecionar o Contêiner do documento ativo a caixa de seleção.

  8. Clique em Finish.

  9. Quando o Assistente de aplicativos MFC terminar de ser gerando o aplicativo, abra os arquivos a seguir usando o gerenciador de soluções:

    • MyProjview.cpp
  10. Em MyProjview.cpp, faça as seguintes alterações:

    • In CMyProjView::OnPreparePrinting, substitua o Sumário de função com o código a seguir:

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

    OnPreparePrinting oferece suporte à impressão. Este código substituirá DoPreparePrinting, que é a preparação de impressão padrão.

    Contenção do documento ativo fornece um esquema de impressão melhor:

    • You can first call the active document through its IPrintinterface and tell it to print itself.This is different from previous OLE containment, in which the container had to render an image of the contained item onto the printer CDCobject.

    • If that fails, tell the contained item to print itself through its IOleCommandTargetinterface

    • Se isso falhar, verifique seu próprio renderização do item.

    Funções de membro estáticoCOleDocObjectItem::OnPrint e COleDocObjectItem::OnPreparePrinting, conforme implementado no código anterior, lidar com esse esquema de impressão aprimorada.

  11. Adicione qualquer implementação de sua preferência e construir o aplicativo.

Consulte também

Conceitos

Contenção do documento ativo