1
2
首先,我同意其他海报的观点,在主UI线程上显示对话框可能更好。
注意,(2)不应该是必须的,前提是你有(1),但是你提到了MFC,我不记得它的具体行为。它有自己的模式对话框实现,可能与Win32不完全匹配。如果你幸运的话,(1)和(3)就足够了。 |
2
2
没有可靠的方法在多个线程之间传播GUI模式。每个窗口都由一个通过
模态是通过首先启用对话框窗口,然后禁用其父窗口来实现的。第一步是安全的,而第二步尝试从不是窗口所属线程的线程禁用窗口。因为en-/禁用windows会修改通过
建议的解决方案是将GUI限制在单个线程中,并从工作线程到GUI线程进行通信,让它代表工作线程执行用户交互。最简单的方法就是打电话 SendMessage 从工作线程到块,直到GUI线程的消息处理程序返回。如果在显示对话框时工作线程应继续运行,则可以使用 PostMessage 而是使用 PostThreadMessage 或者向同步对象发送信号,比如 Event Object . |
3
1
虽然我不知道Server2003上对话框处理的细节,但在主线程上最简单的解决方法是使用自定义窗口消息do
|
4
0
|
MHSarmadi · 阻止显示未完全加载的图像 2 年前 |
Bumboobee · 有没有办法将Pdf放入Swal模型中? 2 年前 |
Thiago P · 修复了模式溢出视口时无法滚动的问题 6 年前 |
Jacqueline Connors · CF组件不重置变量 6 年前 |
George Albert · 将数据发送到jquery以在模式中显示 6 年前 |
HRS · Javascript模式无法打开 6 年前 |