WinPro logo. Перейти на сайт www.winpro.narod.ru

Пример цикла сообщений 2



Пример показывает использование цикла сообщений для потока, использующего акселераторы и создающего немодальное диалоговое окно.
HWND hwndMain; 
HWND hwndDlgModeless = NULL; 
MSG msg;
BOOL bRet; 
HACCEL haccel; 
// 
// Создание главного окна. 
// 
 
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{ 
    if (bRet == -1)
    {
        // получение описателя ошибки и возможно выход
    }
    else
    {
        if (hwndDlgModeless == (HWND) NULL || 
                !IsDialogMessage(hwndDlgModeless, &msg) && 
                !TranslateAccelerator(hwndMain, haccel, 
                    &msg)) 
        { 
            TranslateMessage(&msg); 
            DispatchMessage(&msg); 
        }
    } 
}
Hosted by uCoz