我开发了一个mdi应用程序,它的主要形式是在运行时创建的几个子窗口。子窗口是自定义窗体。我想从同一个应用程序中以另一种形式显示这些自定义表单。这可能吗?
答案 0 :(得分:8)
不,使用标准VCL是不可能的。只有应用程序的MainForm可以是MDI表单。但是应该可以直接使用win32,如here所示。
答案 1 :(得分:0)
我不相信这在VCL中是可行的。据我了解,MDI表单被假定为主要表单(Application.MainForm)。我想底层的Windows例程不会有任何这样的假设,但我认为VCL不会让你在没有严重黑客的情况下这样做。
在VCL框架的各个点,重要的MDI消息被发送到Application.MainForm.ClientHandle
。现在,ClientHandle
是MDI容器,但由于某种原因,主窗体的容器已经被挑选出来。