gpt4 book ai didi

delphi - 将一个程序 UI 嵌入到另一个程序 UI 中,并在两个独立的 Win32 进程中使用模式对话框

转载 作者:行者123 更新时间:2023-12-03 15:50:26 25 4
gpt4 key购买 nike

我需要将辅助应用程序的用户界面 (UI) 嵌入到主应用程序中。我可以使用 SetParent 轻松地将辅助应用程序主窗体托管到主应用程序中。我正在使用命名管道在两个应用程序之间进行通信。我什至可以借助主应用程序中虚拟 TEdit 的帮助,在辅助应用程序中使用 AttachThreadInput API 解决选项卡问题。到目前为止一切顺利。

我无法解决以下问题:辅助应用程序中的任何模式形式都不会被视为主要应用程序的模式,这会造成重大麻烦。

顺便说一句:不要告诉我使用 DLL、OCX 或 ActiveX。我有两个普通的 exe 文件。

任何帮助/提示表示赞赏。

最佳答案

模态表单的工作原理如下:

  1. 当显示模态形式时,它会禁用其 owner window .
  2. 这会导致无法与所有者进行互动。
  3. 当模态窗口关闭时,它会重新启用所有者。

但是在您的场景中,辅助应用程序中的模式窗口不会禁用主应用程序中的窗口。因此,要解决您的问题,您需要确保辅助应用程序连接到主应用程序并在显示模式表单时禁用相应的窗口。

模态是一个有点棘手的领域。犯错很容易造成各种不良后果。至少需要 10 个 VCL 版本才能使模态和窗口所有者的处理接近正确! Raymond Chen 撰写了大量有关情态的文章,我相信您会发现它们很有用:

关于delphi - 将一个程序 UI 嵌入到另一个程序 UI 中,并在两个独立的 Win32 进程中使用模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747935/

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