我的程序用多文档窗口作为主窗口,有两个子窗口,在代码中控制同一个子窗口只能打开一个,即子窗口A打开后,再打开A子窗口时,将已经打开的子窗口A至前,子窗口都是以最大状态显示。现在的问题是以最大状态打开了子窗口A后不关闭,然后再打开子窗口B时显示就不正常。这个问题应该怎么解决?

解决方案 »

  1.   

    我在子窗口windowstate属性中设了wsmaximized。第二个窗口最大最小关闭按钮是显示在它应该在的位置即父窗口蓝色条下面,但子窗口的蓝色条显示在窗口的中间部分。
      

  2.   

    你看看你的子窗口的FormStyle属性是否是fsMDIChild,没碰到过你说的这种情况
      

  3.   

    子窗口设了fsMDIChild,第二个子窗口在第一个子窗口的中部开始显示,没有把后面窗口全部挡住,可以看到后面子窗口的上半部分而且可以看到后面子窗口的显示状态已经变了,变小了不在最大状态。但点了这个子窗口后它又是以最大状态显示在前面。会不会和我的delphi7环境有关?我装了很多第三方控件CnPack,Eureklog Enterprise,FastReports,Indy10等。我在另一个干净的delphi7做这样的窗口就没问题。
      

  4.   

    还真不知道,FastReports,Indy10我也装了,至少和这2个控件没有关系。
    你把窗体上的控件都删了,仅保留窗体,再做个测试看看