Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 modificar o aplicativo para dar suporte à contenção de documentos ativos.
Para criar um aplicativo de contêiner de documento ativo
No menu Arquivo , clique em Projetono submenu Novo .
No painel esquerdo, clique no tipo de projeto do Visual C++ .
Selecione Aplicativo MFC no painel direito.
Nomeie o projeto MyProj, clique em OK.
Selecione a página De Suporte a Documentos Compostos .
Selecione a opção Contêiner ou Contêiner/Servidor Completo .
Marque a caixa de seleção Contêiner do documento ativo.
Clique em Concluir.
Quando o Assistente de Aplicativo MFC terminar de gerar o aplicativo, abra os seguintes arquivos usando o Gerenciador de Soluções:
- MyProjview.cpp
Em MyProjview.cpp, faça as seguintes alterações:
Em
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;
OnPreparePrintingfornece suporte à impressão. Esse código substituiDoPreparePrinting, que é a preparação de impressão padrão.A contenção de documentos ativos fornece um esquema de impressão aprimorado:
Primeiro, você pode chamar o documento ativo por meio de sua
IPrintinterface e ordenar que ele se imprima. Isso é diferente da contenção OLE anterior, na qual o contêiner teve que renderizar uma imagem do item contido no objeto da impressoraCDC.Se isso falhar, instrua o item contido a imprimir a si mesmo por meio de sua interface
IOleCommandTargetSe isso falhar, faça sua própria renderização do item.
As funções de membro estático
COleDocObjectItem::OnPrinteCOleDocObjectItem::OnPreparePrinting, conforme implementadas no código anterior, lidam com este esquema aprimorado de impressão.Adicione qualquer implementação própria e crie o aplicativo.