I asked a question,有人评论说我的问题不清楚, 所以这里是一个新的。CreateWindow()[Win32 API]:只有父窗口得到
我想用多个窗口使用WIN32 API创建应用程序。 我创建了两个窗口,一个是父项的子项。然后我有一个消息循环, 但不幸的是只有父WndProc获取消息,而孩子没有。 - 是wndProc只被调用一次而不是两次。 (是预期的行为?)
我也试着为子窗口创建另一个WndProcChild函数,并注册自己的类,但仍然无济于事。
下面是一个代码提取物(只子窗口的声明,消息循环)
我是一个Win32新手,所以要温柔...... 谢谢,丹
wcEdit.lpfnWndProc = WndProcChild;
wcEdit.style = CS_HREDRAW | CS_VREDRAW;
wcEdit.cbClsExtra = 0;
wcEdit.cbWndExtra = 0;
wcEdit.hInstance = hInstance;;
wcEdit.hCursor = 0;
wcEdit.lpszMenuName = 0;
wcEdit.lpszClassName = L"child";
RegisterClass(&wcEdit);
edit_hwnd = CreateWindow(L"child", L"child_title", NULL,
0, 0, 0, 0, ParentWindow,
NULL, global_instance, NULL);
UpdateWindow(edit_hwnd);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
只是为了解释我想达到的目的 - 我想要处理WM_KEYDOWN消息两次 - 一次在父窗口中,一次在子窗口中。我其实并不需要他们是亲子,只是认为这将节省我创建两个不同的wndProcs
只是为了再次解释我想达到的目的 - 我想要处理WM_KEYDOWN消息两次 - 一次在父窗口中,一次在子窗口中。我其实并不需要他们成为父母子女,只是认为这将节省我创建两个不同的wndProcs ... – dan 2009-11-10 14:52:09
而不是发布一个新的问题,你应该刚刚编辑原始帖子。 – Aaron 2009-11-10 15:00:23