gpt4 book ai didi

delphi - 多种形式的 Delphi 应用程序和对话框

转载 作者:行者123 更新时间:2023-12-03 15:21:48 28 4
gpt4 key购买 nike

我有一个 Delphi 7 应用程序,它有两个文档 View (例如,所见即所得 HTML 编辑可能有一个所见即所得 View 和一个源代码 View - 不是我真正的应用程序)。它们可以在单独的窗口中打开,或停靠在主窗口的选项卡中。

如果我从其中一个单独的窗体打开模式对话框,则主窗体将显示在前面,并在 Windows 任务栏中显示为选定的窗口。假设主窗体是所见即所得 View ,并且弹出源 View 。您转到源 View 中的特定点并插入图像标签。将出现一个对话框,允许您选择并输入所需的图像属性。如果所见即所得 View 和源 View 重叠,则所见即所得 View 将被置于前面,而源 View 将被隐藏。一旦对话框消失,源 View 就会重新出现。

我尝试将所有者和 ParentWindow 属性设置为与其相关的表单:

dialog := TDialogForm.Create( parentForm );<br/>
dialog.ParentWindow := parentForm.Handle;

如何解决这个问题?我还应该尝试什么?

鉴于人们似乎对我的示例感到困惑,也许我可以尝试一个更好的示例:一种允许您同时打开多个文件的文本编辑器。您打开的文件要么在选项卡中(如在 Delphi IDE 中),要么在其自己的窗口中。假设用户打开拼写检查对话框或查找对话框。发生的情况是,如果文件正在其自己的窗口中编辑,则当显示模式对话框时,该窗口将按 z 顺序发送到主窗体下方;一旦对话框关闭,它就会返回到原来的 z 顺序。

注意:如果您正在使用 Delphi 7 并寻找此问题的解决方案,请参阅页面下方我的答案,了解我最终做了什么。

最佳答案

我会使用这段代码...(基本上是 Lars 所说的)

dialog := TDialogForm.Create( parentForm );
dialog.PopupParent := parentForm;
dialog.PopupMode := pmExplicit;
dialog.ShowModal();

关于delphi - 多种形式的 Delphi 应用程序和对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21749/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com