小编Mat*_*son的帖子

使用Delphi XE的多个模态对话框出现问题

这是我的问题.

我有主应用程序运行并打开一个模态对话框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关闭时返回主应用程序.在我们的功能区代码中提出了一些我无法找到的东西.哼!

windows delphi ribbon modal-dialog delphi-xe

6
推荐指数
1
解决办法
953
查看次数

标签 统计

delphi ×1

delphi-xe ×1

modal-dialog ×1

ribbon ×1

windows ×1