Skrive vindusprosedyre ramme

Vinduet fremgangsmåten for en ramme MDI-vindu er ligner på et ikke-MDI-programmets hovedvindu. Forskjellen er at en ramme vindusprosedyre passerer alle meldinger som ikke håndterer til funksjonen DefFrameProc i stedet for til DefWindowProc -funksjonen. I tillegg må vindusprosedyre ramme også gå noen meldinger som det håndterer, inkludert de som er oppført i følgende tabell.

Melding Svar
WM_COMMAND Aktiverer underordnet MDI-vindu som brukeren velger. Denne meldingen sendes når brukeren velger et underordnet MDI-vindu på vindu -menyen i vinduet for MDI-ramme. Identifikatoren vinduet følgjer med meldinga identifiserer underordnet MDI-vindu aktiveres.
WM_MENUCHAR Åpner vindu -menyen av aktiv underordnet MDI-vindu når brukeren trykker alt +-(minus) tastekombinasjon.
WM_SETFOCUS Sender fokus på tastaturet til vinduet for MDI-klienten, som i sin tur sender den til det aktive underordnet MDI-vinduet.
WM_SIZE Endrer størrelse på vinduet for MDI-klienten slik at den passer i det nye ramme-vinduet klientområdet. Hvis vindusprosedyre ramme størrelser vinduet for MDI-klienten til en annen størrelse, bør det ikke sende meldingen til DefWindowProc -funksjonen.

Vinduet ramme prosedyren i Multipad kalles MPFrameWndProc. Håndteringen av andre meldinger etter MPFrameWndProc er lik som ikke er MDI programmer. WM_COMMAND meldinger i Multipad håndteres av funksjonen for policyer som er definert CommandHandler. For kommandomeldinger ikke håndterer Multipad, kaller CommandHandler funksjonen DefFrameProc . Hvis Multipad ikke bruker DefFrameProc som standard, kan ikke brukeren aktiverer et underordnet vindu på vindu -menyen, fordi WM_COMMAND-melding sendes ved å klikke menyelementet for vinduets ville gå tapt.

Index