Compartilhar via


Relações entre objetos MFC

Para ajudar a colocar o processo de criação de exibição do documento em perspectiva, considere um programa em execução: um documento, a janela do quadro usado para conter o modo de exibição e a exibição associada ao documento.

  • Um documento mantém uma lista de modos de exibição de documento e um ponteiro para o modelo de documento que criou o documento.

  • Um modo de exibição mantém um ponteiro para seu documento e é um filho de sua janela de quadro pai.

  • Uma janela de quadro do documento mantém um ponteiro para o atual modo de exibição ativo.

  • Um modelo de documento mantém uma lista dos documentos abertos.

  • O aplicativo mantém uma lista de seus modelos de documento.

  • Windows mantém registro de todas as janelas abertas para enviar mensagens a eles.

Essas relações são estabelecidas durante a criação de exibição do documento.A tabela a seguir mostra como os objetos em um programa em execução podem acessar outros objetos.Qualquer objeto pode obter um ponteiro para o objeto application chamando a função global AfxGetApp.

Acesso a outros objetos no seu aplicativo

Do objeto

Como acessar outros objetos

Document

Use GetFirstViewPosition e GetNextView para acessar a lista de exibição do documento.

Chamar GetDocTemplate para obter o modelo de documento.

View

Chamar GetDocument para obter o documento.

Chamar GetParentFrame para obter a janela do quadro.

Janela de quadro do documento

Chamar GetActiveView para obter o modo de exibição atual.

Chamar GetActiveDocument para obter o documento anexado ao modo de exibição atual.

Janela de quadro MDI

Chamar MDIGetActive obter atualmente ativo CMDIChildWnd.

Normalmente, uma janela de quadro tem um modo de exibição, mas às vezes, como no windows do divisor, a mesma janela do quadro contém vários modos de exibição.A janela do quadro mantém um ponteiro para a exibição ativa atualmente; o ponteiro é atualizado sempre que outro modo de exibição está ativado.

ObservaçãoObservação

Um ponteiro para a janela do quadro principal é armazenado na m_pMainWnd variável de membro do objeto application.Uma chamada para OnFileNew em seu substituto do InitInstance função de membro CWinApp define m_pMainWnd para você.Se você não chamar OnFileNew, você deve definir o valor da variável no InitInstance você mesmo.(SDI plicativos componente (servidor) podem não definir a variável se a opção /Embedding estiver na linha de comando.) Observe que m_pMainWnd é agora um membro da classe CWinThread em vez de CWinApp.

Consulte também

Conceitos

Documentar modelos e o processo de criação de exibição do documento

Criação do modelo de documento

Criação de exibição de documentos

Criação de novos documentos, janelas e modos de exibição