Documentos, exibições e o estrutura
No coração da estrutura do MFC são os conceitos do documento e o modo de exibição.Um documento é um objeto de dados com o qual o usuário interage em uma sessão de edição.Ele é criado pelo New ou em aberto comando a Arquivo menu e geralmente é salvo em um arquivo.(MFC padrão documentos, derivados da classe CDocument, são diferentes de documentos ativo e OLE compostos documentos.) Um modo de exibição é um objeto de janela por meio do qual o usuário interage com um documento.
Os principais objetos em um aplicativo em execução são:
O documento ou documentos.
Sua classe de documento (derivado de CDocument) Especifica os dados do seu aplicativo.
Se desejar a funcionalidade de OLE em seu aplicativo, derivar a classe de documento de COleDocument ou uma de suas classes derivadas, dependendo do tipo de funcionalidade desejado.
O modo de exibição ou modos de exibição.
Sua classe de modo de exibição (derivado de CView) é o "janela do usuário nos dados." A classe de modo de exibição controla como o usuário vê os dados do seu documento e interage com ele.Em alguns casos, talvez seja necessário um documento para ter várias exibições dos dados.
Se você precisar de rolagem, derivam CScrollView.Se o modo de exibição tem uma interface de usuário que é apresentada em um recurso de modelo de diálogo, derive-o da CFormView.Para dados de texto simples, usar ou derivar de CEditView.Para um aplicativo de acesso a dados com base em formulários, sistema autônomo um programa de entrada de dados derivam CRecordView (para ODBC).Também estão disponível classes CTreeView, CListView, and CRichEditView.
As janelas de quadro
Modos de exibição são exibidos dentro de "janelas de quadro do documento". Em um aplicativo SDI, janela de quadro do documento também é a "janela do quadro principal" para o aplicativo.Em um aplicativo MDI, as janelas de documentos são janelas filhos exibidas dentro de uma janela do quadro principal.Sua classe de janela de quadro principal derivada Especifica os estilos e Outros características das janelas de quadros que contêm seus modos de exibição.Se você precisar personalizar janelas de quadro, derivam CFrameWnd para personalizar a janela de quadro do documento para aplicativos SDI.Derivar de CMDIFrameWnd para personalizar a janela do quadro principal para aplicativos MDI.Também derivar uma classe de CMDIChildWnd para personalizar cada tipo distinto de MDI documento janelas de quadro que o aplicativo dá suporte.
O modelo de documento ou modelos
Um modelo de documento coordena a criação de documentos, exibições e janelas de quadro.Uma classe de modelo de documento específico, derivada da classe CDocTemplate, cria e gerencia todos os documentos abertos de um tipo.Aplicativos que oferecem suporte a mais de um tipo de documento têm vários modelos de documento.Use a classe CSingleDocTemplate para aplicativos SDI ou uso classe CMultiDocTemplate aplicativos MDI.
O objeto do aplicativo
Sua classe de aplicativo (derivado de CWinApp) controla todos sistema autônomo objetos acima e especifica o comportamento do aplicativo, sistema autônomo inicialização e limpeza.Um do aplicativo e único aplicativo objeto cria e gerencia os modelos de documento para o aplicativo suporta tipos de qualquer documento.
Objetos de thread
Se seu aplicativo cria threads separadas de execução — por exemplo, para executar cálculos em segundo plano, você usará classes derivadas de CWinThread.CWinApp propriamente dito é derivado de CWinThread e representa o segmento principal de execução (ou processo principal) em seu aplicativo. Você também pode usar MFC em segmentos secundários.
Em um aplicativo em execução, esses objetos de forma cooperativa responderão às ações do usuário, limite juntos, comandos e outras mensagens.Um objeto de aplicativo único gerencia um ou mais modelos de documento.Cada modelo de documento cria e gerencia um ou mais documentos (de acordo com o aplicativo SDI ou MDI).O usuário exibe e manipula um documento através de um modo de exibição contido em uma janela do quadro.A figura a seguir mostra as relações entre esses objetos para um aplicativo SDI.
Objetos em um aplicativo de SDI em execução
O restante dessa família de artigos explica como as ferramentas de estrutura, o Assistente de aplicativos MFC e editores de recursos, criam esses objetos, como eles funcionam juntos e como você usá-los em sua programação.Documentos, exibições e janelas de quadro são discutidas em mais detalhes em Objetos de janela and Arquitetura de documento/exibição.