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
No menu de Arquivo , clique em Projetono submenu de Novo .
No painel esquerdo, tipo de projeto de Visual C++ clique em.
Aplicativo do MFC Selecione no painel direito.
O nome do projeto MyProj, clique em OK.
Selecione a página de Combina o suporte do documento .
Selecione a opção de Contêiner ou de Contêiner/servidor completo .
Marque a caixa de seleção de Contêiner do documento ativo .
Clique em Concluir.
Quando o assistente de aplicativo MFC terminar de gerar o aplicativo, abra os seguintes arquivos usando Solution Explorer:
- MyProjview.cpp
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.
Adicionar qualquer implementação de seus próprios e criar o aplicativo.