Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
No menu Arquivo , clique em Projetono submenu Novo .
No painel esquerdo, clique em Tipo de projeto Visual C++ .
Selecione Aplicativo MFC no painel direito.
Nomeie o projeto MyProj, clique em OK.
Selecione a página Suporte a documentos compostos .
Selecione a opção Container ou Container/Full-server .
Marque a caixa de seleção Contêiner de documento ativo .
Clique em Concluir.
Quando o MFC Application Wizard terminar de gerar o aplicativo, abra os seguintes arquivos usando o Solution Explorer:
- MyProjview.cpp
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;
OnPreparePrintingfornece suporte de impressão. Esse código substituiDoPreparePrinting, 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
IPrintinterface 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 impressoraCDC.Se isso falhar, diga ao item contido para se imprimir através de sua
IOleCommandTargetinterfaceSe 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, gerem este esquema de impressão melhorado.Adicione qualquer implementação própria e construa o aplicativo.