在多线程中显示模态窗口,出现异常现象
无意间发现如果在多线程中显示模态窗口后,当这个模态窗口关闭后,原来的主窗口无法再次响应鼠标事件了。
就是窗口上的按钮用鼠标点击没反应,整个窗口看上去像是禁用的状态。
具体原因到现在没找到。
最后的解决办法: 在多线程中,使用 SendMessage() 发送一个【用户自定义消息】, 然后由UI线程来接收,并显示模态窗口,这个时候当模态窗口关闭后,主窗口还是处于激活的状态,窗口上的按钮可以正常点击和响应。
同时我发现,如果在多线程中,调用 MessageBox() 来弹出模态对话框,当关闭对话框后,主窗口处于正常状态,可响应鼠标点击。
不知为什么,我自已写的自定义的模态窗口在多线程中就不能直接显示呢?