|
|
1
3
好啊。终于解决了这个问题。它似乎是由调用CreateWindowEx()时的WS-Ex-NoActivate标志引起的。将其更改为“删除”似乎可以解决问题;模式对话框显示在初始屏幕上方,并且由于它是模式,因此初始屏幕无法置于其上方。 工作代码为:
罗布和克雷格,谢谢你的努力。 |
|
|
2
0
如果你想找个解释,我帮不了你。 如果你在寻找解决方案,你不是第一个。 Eddie Shipman encountered this same problem in May. 他提出的解决方案是使另一个对话框(被闪屏隐藏的对话框)成为最顶部的窗口,但他最终通过在应用程序需要显示任何其他窗口之前隐藏闪屏来避免这个问题。 另一个建议是在启动屏幕上发布命令, 它 显示消息框。该对话框可以作为初始屏幕的父级。不过,这很棘手,因为你再也不能享受到录像机的任何奢侈品了,因为它在主线之外不起作用。 |
|
|
3
0
您应该能够通过将对话框设置为启动屏幕的父级来解决这个问题。将初始屏幕的hwnd分配给全局变量,并重写对话框的createParams方法。如果全局hwnd具有值,请将其分配给createParams传入的params.wndParent变量。事实上,它们来自不同的线程并不重要,因为它只处理HWND,而不是VCL对象,Windows将处理同步。 |
|
0___________ · 我可以在整个程序生命周期内保持句柄打开吗 2 年前 |