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 语言,我将不胜感激。谢谢你。