gpt4 book ai didi

delphi - 如何混合 Windows 对话框和 VCL 表单?

转载 作者:行者123 更新时间:2023-12-02 17:46:32 25 4
gpt4 key购买 nike

我想与第三方应用程序进行互操作并为其提供一个对话框。 API 需要标准 DialogProc 和 DLGTEMPLATE 指针。然而,我真的很想利用VCL、表单设计器等。我怎样才能做到这一点?我可以研究哪些代码示例?

技术:

我该怎么办:

  1. 将 VCL 表单(或框架)嵌入到根据我提供的某些样板 DLGTEMPLATE 创建的对话框中。
  2. 将 VCL WndProc 连接到 Windows DialogProc。

最佳答案

Delphi VCL 不与使用对话框资源类型设计的标准 Windows 对话框进行互操作。 Visual Studio 支持 creating dialog resources ,仍然,即使在 VS 2010 中,但 Delphi 从来没有。无论您拥有的 API 是什么,请准确说明它是什么,这将(如果不是一些晦涩的或内部的东西)增加有人帮助您的可能性。由于 API 需要一个对话框句柄,并希望显示该对话框,然后运行您的对话框过程,并向您发送内容,因此您有两种选择:

  1. 根本不要使用delphi。使用 Visual Studio 6,因为这个 API 一定是为那个时代而设计的。

  2. 使用 delphi,但使用 Visual Studio 6 或 Borland C++ 4.5 等第三方对话框设计器,我们这里讨论的是 1996 时代,然后在不使用任何 VCL 控件或 vcl 的情况下编写 DialogProc任何代码。

我从来没有听说过有人愚蠢到依赖 Windows 对话框资源来通过 API 构建他们的插件屏幕。我真的很想知道您想要扩展哪个应用程序。

您也许可以从代码中添加一个以模态方式显示的模态对话框,这样的模态显示子对话框(第二级对话框)可以使用 VCL,但顶层对话框甚至不在下面您的控制权。

关于delphi - 如何混合 Windows 对话框和 VCL 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866556/

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