O procedimento janela para uma janela do quadro MDI é semelhante ao que um não-MDI da janela de aplicativo principal. A diferença é que um procedimento de janela de quadro passa todas as mensagens não identificador para a função de DefFrameProc em vez de para o DefWindowProc função. Além disso, o procedimento de janela do quadro deve também passar algumas mensagens que manipular, incluindo aqueles listados na tabela a seguir.
Mensagem | Resposta |
---|---|
WM_COMMAND | Ativa a janela de filho MDI que o usuário escolhe. Esta mensagem é enviada quando o usuário escolhe uma janela filho MDI do menu de janela da janela de quadro MDI. O identificador de janela que acompanham esta mensagem identifica a janela de filho MDI para ser ativado. |
WM_MENUCHAR | Abre o menu de janela a janela de filho MDI ativa quando o usuário pressiona a tecla alt +-(menos) combinação de teclas. |
WM_SETFOCUS | Passa o foco do teclado para a janela do cliente MDI, que por sua vez passa-lo para a janela de filho MDI ativa. |
WM_SIZE | Redimensiona a janela do cliente MDI para caber na área de cliente da janela do quadro novo. Se o procedimento de janela de quadro dimensiona a janela do cliente MDI com um tamanho diferente, ele não deve transmitir a mensagem para o DefWindowProc função. |
O procedimento de janela de quadro no Multipad é chamado MPFrameWndProc. A movimentação de outras mensagens pelo MPFrameWndProc é semelhante de aplicativos não-MDI. WM_COMMAND mensagens em Multipad são manipuladas pela função CommandHandler definida localmente. Para mensagens de comando que Multipad não manipula, CommandHandler chama a função DefFrameProc . Se Multipad não utilizar DefFrameProc por padrão, o usuário não pode ativar uma janela filho no menu janela , porque a mensagem WM_COMMAND enviada clicando no item de menu da janela seriam perdida.