Partilhar via


Documentos, vistas e a plataforma

No centro da estrutura MFC estão os conceitos de documento e visão. Um documento é um objeto de dados com o qual o usuário interage em uma sessão de edição. Ele é criado pelo comando Novo ou Abrir no menu Arquivo e normalmente é salvo em um arquivo. (Os documentos MFC padrão, derivados da classe CDocument, são diferentes dos documentos ativos e dos documentos compostos OLE.) Um modo de exibição é um objeto de janela através do qual o usuário interage com um documento.

Os principais objetos em um aplicativo em execução são:

  • Objetos de thread

    Se seu aplicativo criar threads de execução separados, por exemplo, para fazer cálculos em segundo plano, você usará classes derivadas de CWinThread. CWinApp é derivado de CWinThread e representa o thread principal de execução (ou o processo principal) na tua aplicação. Você também pode usar MFC em threads secundários.

  • O objeto do aplicativo

    Sua classe de aplicativo (derivada de CWinApp) controla todos os objetos acima e especifica o comportamento do aplicativo, como inicialização e limpeza. O único objeto de aplicativo do aplicativo cria e gerencia os modelos de documento para qualquer tipo de documento suportado pelo aplicativo.

  • O modelo ou modelos de documento

    Um modelo de documento orquestra a criação de documentos, visões e janelas de moldura. Uma classe de modelo de documento específica, derivada da classe CDocTemplate, cria e gerencia todos os documentos abertos de um tipo. Os aplicativos que suportam mais de um tipo de documento têm vários modelos de documento. Use a classe CSingleDocTemplate para aplicativos SDI ou use a classe CMultiDocTemplate para aplicativos MDI.

  • As janelas com moldura

    As visualizações são exibidas dentro de "janelas de estrutura do documento". Numa aplicação SDI, a janela de estrutura do documento é também a "janela de estrutura principal" da aplicação. Em um aplicativo MDI, as janelas de documento são janelas filhas exibidas dentro de uma janela de quadro principal. Sua classe de janela de quadro principal derivada especifica os estilos e outras características das janelas de quadro que contêm suas exibições. Se precisar personalizar janelas de estrutura, derive de CFrameWnd para personalizar a janela de estrutura do documento para aplicações SDI. Derive de CMDIFrameWnd para personalizar a janela principal para aplicações MDI. Também derive uma classe de CMDIChildWnd para personalizar cada tipo distinto de janelas de quadro de documento MDI que a sua aplicação suporta.

  • O documento ou os documentos.

    Sua classe de documento (derivada de CDocument) especifica os dados do seu aplicativo.

    Se você quiser a funcionalidade OLE em seu aplicativo, derive sua classe de documento de COleDocument ou uma de suas classes derivadas, dependendo do tipo de funcionalidade que você precisa.

  • A(s) vista(s)

    Sua classe de exibição (derivada de CView) é a "janela sobre os dados" do usuário. A classe view controla como o usuário vê os dados do documento e interage com eles. Em alguns casos, talvez você queira que um documento tenha várias visualizações dos dados.

    Se você precisar de rolagem, derive de CScrollView. Se sua exibição tiver uma interface do usuário disposta em um recurso de modelo de diálogo, derive de CFormView. Para dados de texto simples, use ou derive de CEditView. Para um aplicativo de acesso a dados baseado em formulário, como um programa de entrada de dados, derive de CRecordView (para ODBC). Também estão disponíveis as aulas CTreeView, CListView, e CRichEditView.

Em um aplicativo em execução, esses objetos respondem cooperativamente às ações do usuário, ligados entre si por comandos e outras mensagens. Um único objeto de aplicativo gerencia um ou mais modelos de documento. Cada modelo de documento cria e gerencia um ou mais documentos (dependendo se o aplicativo é SDI ou MDI). O usuário visualiza e manipula um documento através de uma exibição contida dentro de uma janela de quadro. A figura a seguir mostra as relações entre esses objetos para um aplicativo SDI.

Diagrama dos objetos em um aplicativo SDI em execução.
Objetos em um aplicativo SDI em execução

O restante desta família de artigos explica como as ferramentas de estrutura, o MFC Application Wizard e os editores de recursos criam esses objetos, como eles funcionam juntos e como você os usa em sua programação. Documentos, modos de exibição e janelas de quadro são discutidos com mais detalhes em Objetos de janela e Arquitetura de documento/exibição.

Ver também

Usando as classes para escrever aplicativos para Windows