Interface de vários documentos

[Muitos usuários novos e intermediários têm dificuldade em aprender a usar aplicativos MDI. Portanto, você deve considerar outros modelos para sua interface do usuário. No entanto, você pode usar o MDI para aplicativos que não se encaixam facilmente em um modelo existente.]

A MDI (interface de vários documentos) é uma especificação que define uma interface do usuário para aplicativos que permitem que o usuário trabalhe com mais de um documento ao mesmo tempo.

Nesta seção

Tópico Descrição
Sobre a interface de vários documentos Descreve a interface de vários documentos.
Usando a interface de vários documentos Explica como executar tarefas associadas à Interface de Vários Documentos.
Referência de MDI Contém a referência de API.

Funções MDI

Nome Descrição
CreateMDIWindow Cria uma janela filho MDI.
DefFrameProc Fornece processamento padrão para qualquer mensagem de janela que o procedimento de janela de uma janela de quadro MDI não processa. Todas as mensagens de janela que não são processadas explicitamente pelo procedimento de janela devem ser passadas para a função DefFrameProc , não para a função DefWindowProc .
DefMDIChildProc Fornece processamento padrão para qualquer mensagem de janela que o procedimento de janela de uma janela filho MDI não processa. Uma mensagem de janela não processada pelo procedimento de janela deve ser passada para a função DefMDIChildProc , não para a função DefWindowProc .
TranslateMDISysAccel Processa pressionamentos de teclas de acelerador para comandos de menu de janela das janelas filho MDI associadas à janela do cliente MDI especificada. A função converte mensagens WM_KEYUP e WM_KEYDOWN para WM_SYSCOMMAND mensagens e as envia para as janelas filho MDI apropriadas.

Mensagens MDI

Nome Descrição
WM_MDIACTIVATE Enviado para uma janela de cliente MDI para instruir a janela do cliente a ativar uma janela filho MDI diferente.
WM_MDICASCADE Enviado para uma janela de cliente MDI para organizar todas as janelas filho em um formato em cascata.
WM_MDICREATE Enviado para uma janela de cliente MDI para criar uma janela filho MDI.
WM_MDIDESTROY Enviado para uma janela de cliente MDI para fechar uma janela filho MDI.
WM_MDIGETACTIVE Enviado para uma janela de cliente MDI para recuperar o identificador para a janela filho MDI ativa.
WM_MDIICONARRANGE Enviado para uma janela do cliente MDI para organizar todas as janelas filho MDI minimizadas. Isso não afeta janelas filho que não estão minimizadas.
WM_MDIMAXIMIZE Enviado para uma janela de cliente MDI para maximizar uma janela filho MDI. O sistema redimensiona a janela filho para que sua área de cliente preencha a janela do cliente. O sistema coloca o ícone de menu da janela filho na posição mais à direita da barra de menus da janela de quadro e coloca o ícone de restauração da janela filho na posição mais à esquerda. O sistema também acrescenta o texto da barra de título da janela filho ao da janela de quadro.
WM_MDINEXT Enviado para uma janela de cliente MDI para ativar a janela filho seguinte ou anterior.
WM_MDIREFRESHMENU Enviado para uma janela de cliente MDI para atualizar o menu de janela da janela de quadro MDI.
WM_MDIRESTORE Enviado para uma janela de cliente MDI para restaurar uma janela filho MDI de tamanho maximizado ou minimizado.
WM_MDISETMENU Enviado para uma janela de cliente MDI para substituir todo o menu de uma janela de quadro MDI, para substituir o menu de janela da janela de quadro ou ambos.
WM_MDITILE Enviado para uma janela de cliente MDI para organizar todas as janelas filho MDI em um formato de bloco.

Estruturas MDI

Nome Descrição
MDICREATESTRUCT Contém informações sobre a classe, o título, o proprietário, o local e o tamanho de uma janela filho MDI.