【问题标题】:Multiple MDI Parent Forms in a Single Application [closed]单个应用程序中的多个 MDI 父表单 [关闭]
【发布时间】:2012-04-12 18:50:51
【问题描述】:

VCL 本身不允许 MainForm 以外的表单托管 MDI 子表单。这是 Borland 的硬编码限制,而不是 Microsoft 的 MDI 体系结构的限制。 Microsoft 允许应用程序中的多个窗口托管 MDI 子项。 Win32 API 中没有 MainForms 的概念。

我尝试将下面的 embarcadro c++ 示例转换为 embarcadro delphi,但没有成功。 在创建 mdi 子表单时,我一直遇到错误“当前没有活动的 mdi 表单”。

此 c++ 示例演示了如何允许非 MDI 项目托管多个 MDI 父窗体,这些父窗体都不是 VCL 的 MainForm。

下载信息(需要帐户才能下载) http://cc.embarcadero.com/item/23574

直接下载(无需账号即可下载) http://www.delphibasics.info/MultipleMDIParentFormsInASingleApplication.zip

如果有人将此示例从 embarcadro c++ 语言转换为 embarcadro delphi 语言,我将不胜感激。谢谢。

【问题讨论】:

  • Stack Overflow 不是免费的转换服务。如果遇到困难,您必须自己尝试并提出具体问题。
  • 我写了那篇文章。如果您需要转换帮助,请在 Embarcadero 论坛中发布请求,或私下给我发电子邮件。
  • 即使是应用程序中的单个 MDI 父窗体也太多了。 :-) 尝试使用停靠。
  • 我很想在 .NET 中看到一个。 +1 好问题

标签: delphi vcl mdi


【解决方案1】:

Quality Central #12006 Hosting MDI child forms in non-MainForm forms 在其解决方法描述中详细介绍了如何添加对此的支持。它确实涉及修补 VCL 源代码,并且是针对 Delphi 2005 发布的,因此某些步骤可能已更改。它也因 Won't Do 而被关闭,因此如果您采用这种方法,您将不得不自己长期维持它。

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多