本人想实现一个功能:在主窗体中按下一个BUTTON,来打开一个MDI窗体。我的做法是:
主窗体FORM1(自动创建),放一个BUTTON,BUTTON代码:Form2:=TForm2.create(Application);Form2.show;
FORM2中FormStyle设置为:fsMDIform,onShow事件中代码:Form3:=TForm3.create(self);
FORM3中FormStyle设置为:fsMDIchild
运行程序出错:Project Project1.exe raised exception class EInvalidOperation with message'Cannot create form.No MDI forms are currently active.'Process stopped.Use Step or Run to continue.
请专家帮忙,程序应如何修改才能实现功能?盼复,感激不尽!

解决方案 »

  1.   

    不能把Form3:=TForm3.create(self);放在Form2的onShow或onCreate中可以在Button的代码中写
    Application.CreateForm(TForm2,Form2);
    Application.CreateForm(TForm3,Form3);
      

  2.   

    你把主窗口设为是MDI窗口,在MDI窗口的create中写打开你原窗口的事件.
      

  3.   

    现在的问题是主窗体FORM1不是MDI,FORM2、FORM3才是。
      

  4.   

    将MDIParent设为MainForm,在button的onclick中写:
    MDIChild:=TMDIChild.Create(Application);
    MDIChild.show;
    //注意:在MDIParent单元中uses MDIChild单元。