A classe CMDIChildWnd fornece a funcionalidade de um Windows Múltiplo janela documento interface (MDI) filho, juntamente com os membros para gerenciar a janela.
Uma janela filho MDI parece muito como uma janela do quadro típico, exceto que a janela de filho MDI apareça dentro de uma janela do quadro MDI em vez de na área de trabalho. Uma janela filho MDI não tem uma barra de menus do seus próprios, mas em vez disso, compartilha o menu da janela do quadro MDI. A estrutura altera automaticamente o menu de quadro MDI para representar a janela de filho MDI ativa no momento.
Para criar uma janela de filho MDI útil para seu aplicativo, derive uma classe de CMDIChildWnd. Adicione variáveis de membro para a classe derivada para armazenar dados específicos para seu aplicativo. Implementar funções de membro de manipulador de mensagens e uma mensagem mapeiam na classe derivada para especificar o que acontece quando as mensagens são direcionadas para a janela.
Existem três maneiras para construir uma janela filho MDI:
Antes de chamar criar ou LoadFrame, é preciso construir o objeto de janela de quadro no heap usando o C++ novo operador. Antes de chamar de criar você também pode registrar uma classe de janela com AfxRegisterWndClass função global para definir os estilos de ícone e classe do quadro.
Use a criar função de membro para passar parâmetros de criação do quadro como argumentos imediatos.
LoadFrame requer argumentos menos do que criare em vez disso recupera a maioria de seus valores padrão de recursos, incluindo o quadro legenda, ícone, tabela de teclas aceleradoras e menu. Para ser acessível a LoadFrame, todos esses recursos devem ter a mesma identificação de recurso (por exemplo, IDR_MAINFRAME).
Quando um objeto CMDIChildWnd contém modos de exibição e documentos, eles são criados indiretamente pela estrutura em vez de diretamente pelo programador. O objeto CDocTemplate orquestra a criação do quadro, a criação de exibições que contêm e a conexão dos modos de exibição para o documento apropriado. Os parâmetros do Construtor CDocTemplate especificam o CRuntimeClass das três classes envolvidas (documento, quadro e exibir). Um objeto de CRuntimeClass é usado pela estrutura para criar dinamicamente novos quadros quando especificado pelo usuário (por exemplo, usando o comando novo arquivo ou MDI janela nova).
Uma classe de janela de quadro derivada de CMDIChildWnd deve ser declarada com DECLARE_DYNCREATE em ordem para o mecanismo RUNTIME_CLASS acima para funcionar corretamente.
A classe CMDIChildWnd herda muita sua implementação padrão de CFrameWnd. Para uma lista detalhada desses recursos, por favor, consulte a descrição de classe CFrameWnd . A classe CMDIChildWnd possui os seguintes recursos adicionais:
Não use o operador de C++ Excluir para destruir uma janela do quadro. Em vez disso, use CWnd:: DestroyWindow . A implementação de CFrameWnd de PostNcDestroy excluirá o objeto C++ quando a janela é destruída. Quando o usuário fecha a janela do quadro, o manipulador padrão de OnClose chamará DestroyWindow.
Para obter mais informações sobre CMDIChildWnd, consulte Tópicos de janela de quadro no Guia do programador do Visual C++.
# include lt;afxwin.h>
Membros da classe |nbsp; Classe base | Gráfico de hierarquia
&Nbsp amostras; MFC Sample MDI | MFC exemplo MDIBIND | MFC exemplo MDIDOCVW | MFC exemplo SNAPVW
Co&nsulte tambémnbsp;CWnd, CMDIFrameWnd