Написание главный цикл обработки сообщений

Основной цикл обработки сообщений приложения MDI аналогична-MDI приложения обработки сочетания клавиш. Разница заключается в цикл сообщений MDI вызывает функцию TranslateMDISysAccel перед проверкой определяемые приложением сочетания клавиш или перед отправкой сообщения.

В следующем примере показан цикл обработки сообщений типичного приложения MDI.

(GetMessage (amp; msg, NULL (HWND), 0, 0)) в то время как {если (!TranslateMDISysAccel (hwndMDIClient и msg) & &!TranslateAccelerator (hwndFrame, hAccel и msg))
    {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 
 

TranslateMDISysAccel функция переводит сообщения WM_KEYDOWN в WM_SYSCOMMAND сообщения и отправляет их в активную дочернюю MDI. Если сообщение не является сообщение ускоритель MDI, функция возвращает значение FALSE, в этом случае приложение использует функцию TranslateAccelerator для определения ли какой-либо из определяемого приложением сочетания клавиш были нажаты. Если нет, то цикл отправляет сообщение в процедуре соответствующие окна.