Win32消息,子窗口不能接受WM_KEYDOWN消息
木头木木头 2013-06-03 03:35:05 我有一个主窗口,里面创建了一个子窗口。所有的操作其实都是为了对子窗口里的图片进行处理。但是一些控件如Button等放在主窗口。现在我想要这个子窗口处理我的PAGEUP和PAGEDOWN键盘消息,但是在主窗口的消息处理函数中可以接收到WM_KEYDOWN消息,而在子窗口中却不能接收到。我知道可以通过主窗口主动POST消息给子窗口实现,但是我想知道能不能直接在子窗口里接收消息。比如,主窗口放弃处理这个消息,并传递给子窗口。我对Windows的消息传递机制一直不是很清楚,希望有懂的大神简单讲解一下这个问题,非常感谢。
case WM_KEYDOWN:
switch (wParam)
{
case VK_LEFT: // LEFT ARROW
MessageBox(hWnd,"Left","Left", MB_YESNO);
break;
case VK_RIGHT: // RIGHT ARROW
MessageBox(hWnd,"Right","Right", MB_YESNO);
break;
case VK_UP: // UP ARROW
MessageBox(hWnd,"UP","UP", MB_YESNO);
break;
case VK_DOWN: // DOWN ARROW
MessageBox(hWnd,"DOWN","DOWN", MB_YESNO);
break;
case VK_HOME: // HOME
MessageBox(hWnd,"HOME","HOME", MB_YESNO);
break;
case VK_END: // END
MessageBox(hWnd,"END","END", MB_YESNO);
break;
case VK_PRIOR: // PAGE UP
MessageBox(hWnd,"PAGEUP","PAGEUP",MB_YESNO);
break;
case VK_NEXT: // PAGE DOWN
MessageBox(hWnd,"PAGEDOWN","PAGEDOWN",MB_YESNO);
break;
default:
break;
}
break;Win32,WM_KEYDOWN,消息处理,子窗口