Arquitetura de documento/exibição
Por padrão, o assistente de aplicativo MFC cria um esqueleto do aplicativo com uma classe do documento e uma classe de exibição. O MFC separa o gerenciamento de dados nessas duas classes. Os repositórios de documento os dados e gerenciam imprimir os dados e as coordenadas que atualizam várias exibições dos dados. A exibição exibe os dados e gerencia a interação do usuário com ela, incluindo a seleção e editar.
Neste modelo, um objeto de documento MFC lê e grava dados no armazenamento persistente. O documento também pode fornecer uma interface para dados onde reside (como em um base de dados). Um objeto de exibição separado gerencia a exibição de dados, renderização dos dados em uma janela para a seleção do usuário e dos edita de dados. A exibição de obtenção de dados de exibição do documento e comunica de volta ao documento todas as modificações de dados.
Quando você pode facilmente substituir ou ignorar a divisão do documento/exibição, há motivo convincente seguir na maioria dos casos esse modelo. O melhor é quando você precisa várias exibições do mesmo documento, como uma planilha e uma exibição de gráfico. O modelo de documento/exibição permite que um objeto de exibição separado representar cada exibição dos dados, quando a comum de código para qualquer exibição (como um mecanismo de cálculo) pode residir no documento. O documento também aceita na tarefa de atualizar todas as exibições sempre que os dados são alterados.
A arquitetura do documento/exibição MFC facilita a dar suporte a várias exibições, vários tipos de documento, o windows do divisor, e outros recursos valiosos da interface do usuário.
As partes da estrutura de MFC a mais visível ao usuário e a você, programador, são o documento e a exibição. A maioria do trabalho no desenvolvimento de um aplicativo com a estrutura entra em escrever suas classes do documento e exibição. Esta família do artigo descreve:
Propósitos de documentos e exibições e como interagem na estrutura.
O que você deve fazer para implementá-lo.
No centro do documento/exibição são quatro classes principais:
A classe de CDocument (ou COleDocument) da suporte aos objetos usados para armazenar ou controlar os dados de seu programa e fornece funcionalidade básica para classes programador- definidas do documento. Um documento representa a unidade de dados que o usuário normalmente é aberta com o comando aberto no menu arquivo e salva com o comando de salvamento no menu arquivo.
CView (ou uma de suas muitas classes derivadas) fornecem funcionalidade básica para classes programador- definidas da exibição. Uma exibição é anexada a um documento e atua como um intermediário entre o documento e o usuário: a exibição é renderizada uma imagem do documento na tela e interpreta a entrada do usuário como operações no documento. A exibição também a imagem renderiza de impressão e a visualização de impressão.
CFrameWnd (ou uma de suas variações) da suporte a objetos que fornece o quadro em torno de uma ou mais exibições de um documento.
CDocTemplate (ou CSingleDocTemplate ou CMultiDocTemplate) suportam um objeto que coordena um ou mais documentos existentes de um tipo específico e gerencie a criação do documento, na exibição, e de objetos corretos da janela de peça para aquele tipo.
A figura a seguir mostra a relação entre um documento e sua exibição.
Documento e exibição
A implementação do documento/exibição na biblioteca de classes separa os próprios dados de sua exibição e as operações de usuário nos dados. Todas as alterações nos dados são gerenciadas pela classe do documento. A exibição chama esta interface para acessar e atualizar os dados.
Os documentos, suas exibições associadas, e as janelas do tableau que enquadram as exibições são criados por um modelo de documento. O modelo de documento é responsável por criar e gerenciar todos os documentos de um tipo de documento.
Que você deseja saber mais?
Documentos e exibir as classes criada pelo assistente de aplicativo
Adicionando várias exibições associadas a um único documento
Inicializar suas próprias adições para documentar & classes de exibição
Usar a base de dados de classificação com documentos e exibições
Usar a base de dados de classificação sem documentos e exibições
Consulte também
Conceitos
Modelos de documento e o processo de criação de documento/exibição
Criando novos documentos, janelas e exibições