Partilhar via


Criando um aplicativo de contêiner de documento ativo

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

Para criar um aplicativo de contêiner de documento ativo

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

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

  3. Selecione Aplicativo MFC no painel direito.

  4. Nomeie o projeto MyProj, clique em OK.

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

  6. Selecione a opção Container ou Container/Full-server .

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

  8. Clique em Concluir.

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

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

    • No CMyProjView::OnPreparePrinting, substitua o conteúdo da função pelo 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 de impressão padrão.

    A contenção ativa de documentos proporciona um esquema de impressão melhorado:

    • Você pode primeiro chamar o documento ativo através de sua IPrint interface e solicitar que ele se imprima. Isso é diferente da contenção OLE anterior, na qual o contêiner tinha que renderizar uma imagem do item contido no objeto da impressora CDC .

    • Se isso falhar, diga ao item contido para se imprimir através de sua IOleCommandTarget interface

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

    As funções de membro estático COleDocObjectItem::OnPrint e COleDocObjectItem::OnPreparePrinting, conforme implementadas no código anterior, gerem este esquema de impressão melhorado.

  11. Adicione qualquer implementação própria e construa o aplicativo.

Ver também

Contenção ativa de documentos