【发布时间】: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 好问题