Partilhar via


Classe CMDIFrameWnd

Fornece a funcionalidade de um Windows vários janela de quadro de interface (MDI) documento, juntamente com os membros para gerenciar a janela.

class CMDIFrameWnd : public CFrameWnd

Comentários

Para criar uma janela de quadro MDI útil para seu aplicativo, derivar uma classe de CMDIFrameWnd. Adicione variáveis de membros para a classe derivada para armazenar dados específicos para seu aplicativo.Implementar funções de membro de manipulador de mensagens e uma mensagem de mapeiam na classe derivada para especificar o que acontece quando mensagens são direcionadas para a janela.

Você pode construir uma janela de quadro MDI chamando o Criar or LoadFrame função de membro de CFrameWnd.

Antes de você telefonar Criar or LoadFrame, você deve construir o objeto da janela de quadro na pilha usando o C++ novo operador.Antes de chamar Criar Você também pode registrar uma classe de janela com o AfxRegisterWndClass função global para conjunto os estilos de ícone e classe do quadro.

Use o Criarfunção de membro para passar parâmetros de criação do quadro imediatos sistema autônomo argumentos.

LoadFrame requer menos argumentos que Criar e, em vez disso, recupera a maioria dos seus valores padrão de recursos, inclusive o quadro legenda, ícone, tabela de acelerador e menu.Para serem acessados por LoadFrame, todos esses recursos devem tiverem a mesma ID de recurso (por exemplo, IDR_MAINFRAME).

Embora MDIFrameWnd é derivado de CFrameWnd, quadro de janela classe derivada de CMDIFrameWnd não precisa ser declarado com DECLARE_DYNCREATE.

The CMDIFrameWnd classe herda grande parte de sua implementação padrão de CFrameWnd. Para obter uma lista detalhada desses recursos, consulte o CFrameWnd descrição da classe.The CMDIFrameWnd classe possui os seguintes recursos adicionais:

  • Uma janela de quadro MDI gerencia o MDICLIENT janela, ela reposicionamento em conjunto com barras de controle.A janela do cliente MDI é o pai direto de janelas de quadro MDI filho.The WS_HSCROLL and WS_VSCROLL janela estilos especificados em um CMDIFrameWnd Aplicar a janela do cliente MDI em vez da janela do quadro principal para que o usuário pode rolar a área de cliente MDI (sistema autônomo no Gerenciador do Windows programa, por exemplo).

  • Uma janela de quadro MDI possui um menu padrão que é usado sistema autônomo o BAR de menus quando não houver nenhum ativo janela filho MDI.Quando há um filho MDI ativo, BAR de menu da janela de quadro da MDI automaticamente é substituída pelo menu da janela filho MDI.

  • Uma janela de quadro MDI funciona em conjunto com a janela filho MDI corrente, se houver um.Por exemplo, as mensagens de comando são delegadas para o filho MDI ativo atualmente antes da janela de quadro MDI.

  • Uma janela de quadro MDI tem manipuladores padrão para os seguintes comandos de menu de janela padrão:

    • ID_WINDOW_TILE_VERT

    • ID_WINDOW_TILE_HORZ

    • ID_WINDOW_CASCADE

    • ID_WINDOW_ARRANGE

  • Uma janela de quadro MDI também tem uma implementação de ID_WINDOW_NEW, que cria um novo quadro e o modo de exibição no documento corrente.Um aplicativo pode substituir essas implementações de comando padrão para personalizar o tratamento de janela MDI.

Não usar o C++ Excluir operador destruir uma janela do quadro.Use CWnd::DestroyWindow em vez disso. The CFrameWnd implementação do PostNcDestroy excluirá o objeto C++ quando a janela é destruída. Quando o usuário fecha a janela do quadro, o padrão de OnClose manipulador será telefonar DestroyWindow.

Para obter mais informações sobre o CMDIFrameWnd, consulte Quadro Windows.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Tarefas

MDI exemplo: Demonstra MDI sem usar a arquitetura de documento/Exibir

Exemplo MDIDOCVW: Demonstra MDI usando a arquitetura de documento/Exibir

Exemplo SNAPVW: Usa páginas de propriedades em um aplicativo de Exibir de Formulário

Referência

Classe CFrameWnd

Gráfico de hierarquia

Classe CWnd

Classe CMDIChildWnd

Outros recursos

Membros de CMDIFrameWnd