Criando um aplicativo de contêiner do documento ativo
A maneira mais simples e mais recomendada para criar um aplicativo de contêiner do documento ativo é criar um aplicativo de contêiner do MFC EXE usando o Assistente de aplicativo do MFC, em seguida, modificar o aplicativo para oferecer suporte a contenção do documento ativo.
Para criar um aplicativo de contêiner do documento ativo
Do arquivo menu, clique em projetodo nova submenu.
No painel esquerdo, clique em Visual C++ tipo de projeto.
Selecione Aplicativo MFC do painel direito.
Nomeie o projeto MyProj, clique OK.
Selecione o Suporte a documentos compostos página.
Selecione o contêiner ou completo/contêiner-servidor opção.
Selecione o contêiner do documento ativo caixa de seleção.
Clique em Concluir.
Quando o Assistente de aplicativo MFC terminar gerando o aplicativo, abra os seguintes arquivos usando o Solution Explorer:
- MyProjview.cpp
No MyProjview.cpp, faça as seguintes alterações:
Em CMyProjView::OnPreparePrinting, substitua o conteúdo de função com o seguinte código:
if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrintingFornece suporte a impressão.Esse código substitui DoPreparePrinting, que é a preparação de impressão padrão.
Confinamento de documento ativo fornece um esquema de impressão aprimorado:
Você pode chamar primeiro o documento ativo por sua IPrintinterface e dizer a ele próprio de impressão.Isso é diferente de confinamento OLE anterior, no qual o recipiente tinha que processar uma imagem do item contido na impressora CDCobjeto.
Se isso falhar, dizer o item contido para imprimir a mesmo por meio de sua IOleCommandTargetinterface
Se isso falhar, verifique o seu próprio processamento do item.
As funções de membro estático COleDocObjectItem::OnPrint e COleDocObjectItem::OnPreparePrinting, conforme implementado no código anterior, lidar com esse esquema de impressão aprimorada.
Adicione qualquer implementação e construir o aplicativo.