Classes de arquitetura do aplicativo do MFC
As classes da biblioteca MFC (Microsoft Foundation Class) nessa categoria contribuem para a arquitetura de um aplicativo MFC. Eles fornecem funcionalidades comuns à maioria dos aplicativos. Você preenche a estrutura para adicionar funcionalidade específica do aplicativo. Normalmente, você faz isso derivando novas classes das classes de arquitetura e adicionando membros ou substituindo funções de membro existentes.
Os Assistentes de aplicativo geram vários tipos de aplicativos, sendo que cada um deles usa a estrutura do aplicativo de maneiras diferentes. Os aplicativos SDI (interface de documento único) e MDI (interface de vários documentos) usam integralmente a parte de documento/exibição da estrutura. Outros tipos de aplicativos, como aplicativos baseados em caixa de diálogo, aplicativos baseados em formulário e DLLs, usam apenas alguns dos recursos de arquitetura de documento/exibição.
Os aplicativos de documento/exibição contêm um ou mais conjuntos de documentos, exibições e janelas de quadros. Um objeto document-template associa as classes para cada documento/exibição/conjunto de quadros.
Você não precisa usar a arquitetura de documento/exibição em seu aplicativo MFC, mas há muitas vantagens em fazer isso. O suporte ao contêiner OLE do MFC e ao servidor se baseia na arquitetura de documento/exibição, assim como o suporte para impressão e visualização de impressão.
Todos os aplicativos MFC têm pelo menos dois objetos: um objeto de aplicativo derivado de CWinApp
e algum tipo de objeto de janela principal, derivado, muitas vezes indiretamente, de CWnd
. (Na maioria das vezes, a janela principal é derivada de CFrameWnd
, CMDIFrameWnd
ou CDialog
, que, por sua vez, derivam de CWnd
.)
Os aplicativos que usam a arquitetura de documento/exibição contêm objetos adicionais. Os objetos principais são:
- Um objeto de aplicativo derivado da classe
CWinApp
, conforme mencionado anteriormente. - Um ou mais objetos de classe de documento derivados da classe
CDocument
. Objetos de classe de documento são responsáveis pela representação interna dos dados manipulados no modo de exibição. Eles podem estar associados a um arquivo de dados. - Um ou mais objetos de exibição derivados da classe
CView
. Cada exibição é uma janela anexada a um documento e associada a uma janela de quadro. As visualizações exibem e manipulam os dados contidos em um objeto de classe de documento.
Os aplicativos de documento/exibição também contêm janelas de quadro (derivadas de CFrameWnd
) e modelos de documento (derivados de CDocTemplate
).