Ana ileti döngüsü yazma

MDI uygulamasının ana ileti döngüsü kısayol tuşları işleme olmayan MDI uygulamasının benzer. MDI ileti döngüsü uygulama tanımlı kısayol tuşları için denetlemeden önce ya da ileti gönderme önce TranslateMDISysAccel işlevini çağırır fark nedir.

Aşağıdaki örnek, tipik bir MDI uygulamasının ileti döngüsü gösterir.

süre (GetMessage (amp; msg, (hwnd) null, 0, 0)) {If (!TranslateMDISysAccel (hwndMDIClient & msg) & &!TranslateAccelerator (hwndFrame, hAccel ve msg))
    {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 

 

TranslateMDISysAccel işlevi, wm_keydown mesaj wm_syscommand iletilerine çevirir ve etkin MDI alt pencereye gönderir. İletiyi bir MDI Hızlandırıcı mesajı ise, yanlış durumda uygulama TranslateAccelerator fonksiyonu herhangi bir uygulama tarafından tanımlanan kısayol tuşları basılı olup olmadığını belirlemek için kullanır işlevi. Yoksa, döngü uygun pencere yordamı iletiyi gönderir.