Schrijven van de Main bericht lus

De hoofdberichtlus van een MDI-toepassing is vergelijkbaar met die van een niet-MDI-toepassing verwerken sneltoetsen. Het verschil is dat de MDI bericht lus de functie TranslateMDISysAccel roept vr controleren voor toepassing gedefinieerde sneltoetsen of vr verzending van het bericht.

In het volgende voorbeeld toont de lus bericht van een typische MDI-toepassing.

terwijl (GetMessage (amp; msg, NULL (HWND), 0, 0)) {als (!TranslateMDISysAccel (hwndMDIClient, & msg) & &!TranslateAccelerator (hwndFrame, hAccel, & msg))
    {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 
 

De TranslateMDISysAccel functie vertaalt WM_KEYDOWN berichten in WM_SYSCOMMAND berichten en stuurt ze naar de actieve MDI-subvenster. Als het bericht niet een MDI versneller bericht is, retourneert de functie FALSE, in welk geval de toepassing de TranslateAccelerator functie gebruikt om te bepalen of een van de sneltoetsen die door de toepassing gedefinieerde werden ingedrukt. Zo niet, de lus verzendt het bericht naar de juiste venster procedure.