[API]问
DispatchMessage函数把消息发送给窗口过程是根据MSG结构中的hwnd域来发送的吗?
如果是这样,当显示一个非模态对话矿时,为什么消息循环要写成
while(GetMessage(&msg,NULL,0,0))
{
if(!hModelless||!IsDialogMessage(hModelless,&msg))// 1
{
TranslageMessage(&msg);
DispatchMessage(&msg);
}
}
如果DispatchMessage能够把消息发给正确的窗口过程的话,我觉得 1 行是多余的,
但是如果不能正确发送的话,又怎么区分不同窗口过程呢?