Partilhar via


Criando um aplicativo de contêiner de documento ativo

A maneira mais simples e mais recomendada de criar um aplicativo de contêiner ativa do documento é criar um aplicativo de contêineres de MFC EXE usando o assistente de aplicativo MFC, então altera o aplicativo dar suporte à retenção ativa do documento.

Para criar um aplicativo de contêineres do documento ativo

  1. No menu de Arquivo , clique em Projetono submenu de Novo .

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

  3. Aplicativo do MFC Selecione no painel direito.

  4. O nome do projeto MyProj, clique em OK.

  5. Selecione a página de Combina o suporte do documento .

  6. Selecione a opção de Contêiner ou de Contêiner/servidor completo .

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

  8. Clique em Concluir.

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

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

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

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

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

    A retenção ativa do documento fornece um esquema aprimorado de impressão:

    • Você pode chamar primeiro para o documento ativo pela interfacede IPrinte para dizê-la para imprimir-se. Isso é diferente de retenção OLE anterior, em que o contêiner tinha que processar uma imagem do item contido no objeto de CDCda impressora.

    • Se isso falhar, digamos o item contido para imprimir-se pela interfacede IOleCommandTarget

    • Se isso falhar, faça sua própria renderização do item.

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

  11. Adicionar qualquer implementação de seus próprios e criar o aplicativo.

Consulte também

Conceitos

Contenção de documento ativa