当设置父窗口时,接收不到这个消息
时间: 2024-04-30 21:20:01 浏览: 92
DLL用到载入()时也能有父窗口-易语言
如果您在设置父窗口后无法收到窗口消息,可能是因为您没有正确地处理消息循环。在 Windows 平台上,Windows 消息是通过消息循环来处理的,因此您需要确保您的程序正确地处理了消息循环。
您可以在您的程序中添加一个主消息循环以接收窗口消息。例如,在 C++ 中,您可以使用 `GetMessage` 或 `PeekMessage` 函数来轮询消息队列并处理消息,如下所示:
```cpp
MSG msg;
while (GetMessage(&msg, hwnd, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
```
在这个循环中,`GetMessage` 函数会等待并获取下一个消息,并将其存储在 `msg` 变量中。然后,`TranslateMessage` 函数会将键盘消息转换为字符消息,`DispatchMessage` 函数会将消息派发给窗口过程函数进行处理。
请注意,这个循环应该在您的主窗口创建之后启动。如果您在创建窗口之前启动了消息循环,您的程序将无法接收到与窗口相关的消息。
如果您使用的是其他编程语言或框架,请查看相关文档以获取更多帮助。
阅读全文