Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para ajudar a colocar o processo de criação de documentos/modos de exibição em perspetiva, considere um programa em execução: um documento, a janela de quadro usada para conter o modo de exibição e o modo de exibição associado ao documento.
Um documento mantém uma lista das vistas desse 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 é filho de sua janela de quadro pai.
Uma janela de quadro de documento mantém um ponteiro para sua exibição ativa atual.
Um modelo de documento mantém uma lista de seus documentos abertos.
O aplicativo mantém uma lista de seus modelos de documentos.
O Windows controla todas as janelas abertas para que possa enviar mensagens para elas.
Essas relações são estabelecidas durante a criação do documento/visualização. 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 de aplicativo chamando a função global AfxGetApp.
Obtendo acesso a outros objetos em seu aplicativo
| Do objeto | Como acessar outros objetos |
|---|---|
| Documento | Use GetFirstViewPosition e GetNextView para acessar a lista de exibição do documento. Chame GetDocTemplate para obter o modelo de documento. |
| Visualizar | Chame GetDocument para obter o documento. Chame GetParentFrame para obter a janela do quadro. |
| Janela de estrutura do documento | Chame GetActiveView para obter a exibição atual. Chame GetActiveDocument para anexar o documento ao modo de exibição atual. |
| Janela de interface MDI | Chame MDIGetActive para obter o CMDIChildWnd atualmente ativo. |
Normalmente, uma janela de quadro tem uma exibição, mas às vezes, como em janelas de divisão, a mesma janela de quadro contém várias exibições. A janela do quadro mantém um ponteiro para a vista atualmente ativa; o ponteiro é atualizado sempre que outra vista é ativada.
Observação
Um ponteiro para a janela do quadro principal é armazenado na variável membro m_pMainWnd do objeto do aplicativo. Uma chamada para OnFileNew no seu substituto da função membro InitInstance de CWinApp define m_pMainWnd para você. Se não chamares OnFileNew, deves definir o valor da variável em InitInstance tu próprio. (Os aplicativos do componente SDI COM (servidor) podem não definir a variável se /Embedding estiver na linha de comando.) Observe que m_pMainWnd agora é um membro da classe CWinThread em vez CWinAppde .
Ver também
Modelos de Documentos e o Processo de Criação de Documentos/Vistas
Criação de modelo de documento
Criação de Documentos/Vistas
Criando novos documentos, janelas e modos de exibição