Partilhar via


Criando um aplicativo de contêiner do documento ativo

A maneira mais simples e mais recomendada para criar um aplicativo de contêiner do documento ativo é criar um aplicativo de contêiner do MFC EXE usando o Assistente de aplicativo do 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. Do arquivo menu, clique em projetodo nova submenu.

  2. No painel esquerdo, clique em Visual C++ tipo de projeto.

  3. Selecione Aplicativo MFC do painel direito.

  4. Nomeie o projeto MyProj, clique OK.

  5. Selecione o Suporte a documentos compostos página.

  6. Selecione o contêiner ou completo/contêiner-servidor opção.

  7. Selecione o contêiner do documento ativo caixa de seleção.

  8. Clique em Concluir.

  9. Quando o Assistente de aplicativo MFC terminar gerando o aplicativo, abra os seguintes arquivos usando o Solution Explorer:

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

    • Em CMyProjView::OnPreparePrinting, substitua o conteúdo de função com o seguinte código:

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

    OnPreparePrintingFornece suporte a impressão.Esse código substitui DoPreparePrinting, que é a preparação de impressão padrão.

    Confinamento de documento ativo fornece um esquema de impressão aprimorado:

    • Você pode chamar primeiro o documento ativo por sua IPrintinterface e dizer a ele próprio de impressão.Isso é diferente de confinamento OLE anterior, no qual o recipiente tinha que processar uma imagem do item contido na impressora CDCobjeto.

    • Se isso falhar, dizer o item contido para imprimir a mesmo por meio de sua IOleCommandTargetinterface

    • Se isso falhar, verifique o seu próprio processamento do item.

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

  11. Adicione qualquer implementação e construir o aplicativo.

Consulte também

Conceitos

Confinamento de documento ativo