Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para ajudar a colocar o processo de criação de documento/exibição em perspectiva, considere um programa em execução: um documento, a janela de quadro usada para conter a exibição e a exibição associada ao documento.
Um documento mantém uma lista dos modos de exibição 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 é um filho de sua janela de quadro pai.
Uma janela de quadro de documento mantém um ponteiro para o modo de exibição ativo atual.
Um modelo de documento mantém uma lista de seus documentos abertos.
O aplicativo mantém uma lista de seus modelos de documento.
O Windows mantém o controle de todas as janelas abertas para que possa enviar mensagens para eles.
Essas relações são estabelecidas durante a criação do documento/da 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 de quadros. |
| Janela de quadro do documento | Chame GetActiveView para obter a exibição atual. Chame GetActiveDocument para anexar o documento ao modo de exibição atual. |
| Janela do quadro 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 de quadro mantém um ponteiro para o modo de exibição ativo no momento; o ponteiro é atualizado sempre que outro modo de exibição é ativado.
Observação
Um ponteiro para a janela de quadro principal é armazenado na variável membro m_pMainWnd do objeto de aplicativo. Uma chamada para OnFileNew na sua substituição da função membro InitInstance de CWinApp define m_pMainWnd para você. Se você não chamar OnFileNew, deverá definir o valor da variável em InitInstance você mesmo. (Os aplicativos de 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 de CWinApp.
Consulte também
Modelos de documento e o processo de criação de documento/exibição
Criação de modelo de documento
Criação de documento/exibição
Criando novos documentos, Windows e exibições