Relações entre objetos do MFC
Para ajudar a colocar o documento / exibir processo de criação em perspectiva, considere a possibilidade de um programa em execução: um documento, a janela do quadro usado para conter o modo de exibição e o modo de exibição associada ao documento.
Um documento mantém uma lista dos 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 modo de exibição ativo corrente.
Um modelo de documento mantém uma lista dos seus em aberto documentos.
O aplicativo mantém uma lista de seus modelos de documento.
Windows mantém registro de todas as janelas abertas para que ele pode enviar mensagens a eles.
Estes relacionamentos são estabelecidos durante a criação do modo de exibição de documentos /.A tabela a seguir mostra como os objetos em um programa em execução podem acesso outros objetos.Qualquer objeto pode obter um ponteiro para o objeto do aplicativo ligando para a função global AfxGetApp.
Obtenham acesso a outros objetos no seu aplicativo
Do objeto |
Como acesso outros objetos |
---|---|
Document |
Use GetFirstViewPosition and GetNextView para acessar a lista de modo de exibição do documento. De telefonarGetDocTemplate para obter o modelo de documento. |
View |
De telefonarGetDocument para obter o documento. De telefonarGetParentFrame para obter a janela do quadro. |
Janela de quadro do documento |
De telefonarGetActiveView para obter a exibição corrente. De telefonarGetActiveDocument para obter o documento anexado ao modo de exibição corrente. |
Janela de quadro MDI |
De telefonarMDIGetActive para obter o ativo no momento CMDIChildWnd. |
Normalmente, uma janela do quadro tiver um modo de exibição, mas às vezes, sistema autônomo no divisor janelas, 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 ativo no momento; o ponteiro será atualizado sempre que outro modo de exibição é ativado.
Observação: |
---|
Um ponteiro para a janela do quadro principal é armazenado na m_pMainWnd variável de membro do objeto do aplicativo.Uma telefonar para OnFileNew na sua substituir da InitInstance função de membro de CWinApp Define m_pMainWnd para você. Se você não fizer isso telefonar OnFileNew, você deve conjunto o valor da variável no InitInstance Você mesmo. (SDI COM aplicativos de componente (servidor) podem não defina a variável se /Embedding for na linha de comando.) Observe que m_pMainWnd Agora é um membro da classe CWinThread em vez de CWinApp. |
Consulte também
Conceitos
documento Modelos e o documento / exibir processo de criação