我有一个Delphi 7应用程序有两个文档视图(例如,所见即所得的HTML编辑可能有一个所见即所得的视图和源视图 - 不是我真正的应用程序)。它们可以在单独的窗口中打开,或者停靠在主窗口的选项卡中。多窗体Delphi应用程序和对话框
如果我从其中一个单独的窗体打开模式对话框,主窗体将显示在前面,并显示为窗口任务栏中的选定窗口。假设主要形式是WYSIWYG视图,并且源视图已被删除。您转到源视图中的特定点并插入图像标记。会出现一个对话框,允许您选择并输入图像所需的属性。如果所见即所得视图和源视图重叠,则所见即所得视图将被置于前面并且源视图被隐藏。一旦对话被解散,源视图就会回到视线内。
我试过设置所有者和ParentWindow属性的形式,它是关系到:
dialog := TDialogForm.Create(parentForm);
dialog.ParentWindow := parentForm.Handle;
我怎样才能解决这个问题呢?我还应该尝试什么?
鉴于人们似乎在嘲讽我的例子,或许我可以尝试一个更好的例子:一个文本编辑器,允许您同时打开多个文件。您打开的文件或者在选项卡中(如在Delphi IDE中)或在其自己的窗口中。假设用户打开拼写检查对话框或查找对话框。会发生什么情况是,如果文件正在自己的窗口中编辑,那么当显示模态对话框时,该窗口会按z顺序发送到主窗体下方;一旦对话框关闭,它将返回到其原始的z顺序。
注意注意:如果您正在使用Delphi 7并寻找解决方案来解决这个问题,请查看我在页面上的答案,以查看我最终做了什么。
这有为我解决了一个长期存在的问题。谢谢。 – 2014-07-10 11:08:52