Вопрос об IsDialogMessage () в WIN32

Я создаю простую программу win32 с одним главным окном и немодальным диалогом.

Я знаю, что с помощью IsDialogMessage () программа будет отправлять сообщения в немодальное окно (например, события клавиатуры).

// step 3: The Message Loop
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
    if(!IsDialogMessage(g_hToolbar, &Msg)) 
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
}

Но без использования IsDialogMessage () немодальное окно по-прежнему получает такие события, как щелчок и некоторые другие события, отправляемые мышью.

Почему? Как это немодальное устройство может получать эти сообщения, если основной цикл не отправляет ему сообщения?

Я просто хочу знать, как это работает внутри.

8
задан Daniel Koch 9 December 2010 в 07:36
поделиться