Documentos, exibições e o Framework
No centro da estrutura de MFC são os conceitos do documento e exibição. Um documento é um objeto de dados que interage com o usuário em uma sessão de edição. É criado pelo comando de New ou de Abrir no menu de Arquivo e normalmente salvo em um arquivo. (Os documentos padrão, MFC derivados da classe CDocument, são diferentes dos documentos ativas e os documentos compostos OLE habilitados.) Uma exibição é um objeto da janela através do usuário que interage com um documento.
Os objetos de chave em um aplicativo em execução são:
O documento ou documentos.
A classe do documento (derivada de CDocument) especifica os dados de aplicativo.
Se desejar que a funcionalidade OLE em seu aplicativo, derivar a sua classe de documento de COleDocument ou uma de suas classes derivadas, dependendo do tipo de funcionalidade que você precisa.
A exibição ou exibições.
A classe da exibição (derivada de CView) é a janela do usuário “nos dados.” Os controles da classe de exibição como o usuário vê os dados do documento e interage com ela. Em alguns casos, talvez você queira um documento para ter várias exibições dos dados.
Se você precisar rolar, derivar de CScrollView. Se a exibição tem uma interface do usuário que seja apresentada em um recurso de diálogo- modelo, derivar de CFormView. Para dados simples de texto, use ou derivar de CEditView. Para um aplicativo de acesso a dados de autenticação baseado, como um programa de introdução de dados, para derivar de CRecordView (ODBC). Também estão disponíveis as classes CTreeView, CListView, e CRichEditView.
As janelas do quadro
As exibições são exibido dentro do windows “do quadro documento.” Em um aplicativo de SDI, a janela do quadro do documento também é “quadro da janela principal” para o aplicativo. Em um aplicativo MDI, as janelas de documentos são exibidas janelas filho dentro de uma janela principal do quadro. A classe principal derivado da janela quadro- especifica os estilos e outras características do windows do tableau que contêm as exibições. Se você precisar personalizar o windows do quadro, derivar de CFrameWnd para personalizar a janela do quadro do documento para aplicativos de SDI. Derivar de CMDIFrameWnd para personalizar a janela principal do quadro para aplicativos MDI. Também derivar uma classe de CMDIChildWnd para personalizar cada tipo distinto do windows do quadro de documentos MDI com suporte no seu aplicativo.
O modelo ou modelos do documento
Um modelo de documento orquestra a criação de documentos, exibições, e do windows do quadro. Uma classe específica do documento modelo, derivado da classe CDocTemplate, o cria e gerencia todos os documentos abertos de um tipo. Os aplicativos que dão suporte a mais de um tipo de documento têm vários modelos do documento. Use a classe CSingleDocTemplate para aplicativos de SDI, ou use a classe CMultiDocTemplate para aplicativos MDI.
O objeto de aplicativo
A classe do aplicativo (derivada de CWinApp) controla todos os objetos acima e especifica o comportamento de aplicativo como a inicialização e a limpeza. Esse do aplicativo e somente o objeto do aplicativo cria e gerencia os modelos do documento para todos os tipos de documento que o aplicativo dar suporte.
Objetos do thread
Se seu aplicativo cria threads separados de execução — por exemplo, para executar cálculos no plano de fundo — você usará as classes derivadas de CWinThread. CWinApp próprio é derivado de CWinThread e representa o thread principal de execução (ou o processo principal) em seu aplicativo. Você também pode usar o MFC threads secundários.
Em um aplicativo em execução, esses objetos cooperativa respondem a ações do usuário, junto com o limite por comandos e outras mensagens. Um único objeto de aplicativo gerencia um ou mais modelos do documento. Cada modelo de documento cria e gerencia um ou mais documentos (dependendo se o aplicativo é SDI ou MDI). As exibições de usuário e manipulam um documento com uma exibição contida em uma janela do quadro. A figura a seguir mostra as relações entre esses objetos para um aplicativo de SDI.
Objetos em um aplicativo de SDI de execução
O restante desta família de artigos explica como as ferramentas da estrutura, o assistente de aplicativo MFC, e os editores de recursos, criam tais objetos, como eles trabalham em conjunto, e como devem ser usados em sua programação. Os documentos, exibições, e as janelas de peças são discutidos em mais detalhes em Objetos da janela e em Arquitetura do documento/exibição.