这是我的问题.
我有主应用程序运行并打开一个模态对话框1,此时主应用程序屏幕被禁用,所有焦点都在新对话框1上.
从这个对话框1我打开另一个模态对话框2.所以现在主屏幕和对话框1被禁用,这个对话框2具有所有焦点.到目前为止完美.
现在,当我关闭这个顶级对话框2时,我希望它只是跳回到dialog1.它专注于dialog1,但它现在已启用主应用程序,您可以单击任何向后发送dialog1但保持打开状态的应用程序.这导致1%的问题,用户不仅仅立即关闭对话框1并且点击周围.你可以想象QA不喜欢这个; o)
看起来Windows有点混乱,因为主应用程序似乎知道它仍然打开dialog1,因为功能区上的按钮仍然按下.
有任何想法吗?
我到目前为止所做的最好的是明确设置:
dialog1.PopupMode := pmExplicit;
dialog1.PopupParent := MainFrm;
即使您单击主应用程序,当您关闭dialog2时,这似乎会将dialog1保持在主应用程序的顶部.因此,这将鼓励用户关闭它,但不是100%正确.
编辑:我已经创建了一个独立的应用程序,它按预期运行.关闭窗口时,控制和焦点从dialog2返回到dialog1,然后在dialog1关闭时返回主应用程序.在我们的功能区代码中提出了一些我无法找到的东西.哼!