Pisanie procedury okna ramki

Procedura okna MDI ramki okna jest podobny do okna głównego aplikacji MDI. Różnica jest, że procedurę okna ramek przekazuje wszystkie wiadomości, które nie obsługuje funkcji DefFrameProc , zamiast funkcji DefWindowProc . Ponadto procedura okno ramki musi również przekazać niektóre wiadomości, które go obsługują, włączając te, które wymieniono w poniższej tabeli.

Komunikat Odpowiedzi
WM_COMMAND Uaktywnia okno potomne MDI, który użytkownik zdecyduje się. Ta wiadomość jest wysyłana, gdy użytkownik wybierze okno potomne MDI okna MDI ramki, w menu okno . Identyfikator okno towarzyszących ten komunikat identyfikuje okno potomne MDI zostanie uaktywniony.
WM_MENUCHAR Powoduje otwarcie menu okna aktywnego okna podrzędnych MDI, kiedy użytkownik naciśnie klawisze alt +-(minus) kombinacji klawiszy.
WM_SETFOCUS Przekazuje fokusu klawiatury do okna klienta MDI, który z kolei przekazuje je na aktywne okno potomne MDI.
WM_SIZE Zmienia rozmiar okna klienta MDI mieści się w nowym oknie ramki obszaru klienckiego. Jeśli procedura okno ramki rozmiary okna klienta MDI do innego rozmiaru, należy przechodzi wiadomość do funkcji DefWindowProc.

Procedury okna ramki w Multipad nazywa się MPFrameWndProc. Obsługa innych wiadomości przez MPFrameWndProc jest podobna do tej aplikacji nie MDI. WM_COMMAND wiadomości w Multipad są obsługiwane przez funkcję CommandHandler zdefiniowane lokalnie. Komunikaty polecenia, które nie obsługuje Multipad CommandHandler wywołuje funkcję DefFrameProc . Jeśli Multipad nie używa DefFrameProc domyślnie, użytkownik nie może uaktywnić okna podrzędnego z menu okno , ponieważ komunikat WM_COMMAND, wysłany przez kliknięcie elementu menu okna zostałyby utracone.

Index