为什么要“类似”mdi呢?不理解……用panel做主窗体?那它是怎么出来的?
up……

解决方案 »

  1.   

    为什么如此折腾?
    你可以把TForm(MDI主窗体)改造成TPanel的莫样,二不是相反.
      

  2.   

    但是MDI主窗体用来显示子窗体的区域是固定的阿,只能放下边,我想灵活点,主窗体其他地方也要放些东西,能实现么?
      

  3.   

    用panel做主form真是费解?帮你踢一脚吧。
      

  4.   

    这个做法无法实现:
    Windows只允许一个窗口处于激活状态,而你的目的恰恰是想让两个窗口同时处于激活状态!
    如果你想把MDIChild放在别的地方,你只要将无用的地方用Panel填满就行了
      

  5.   

    谢谢各位,
    我只是想实现一个类似下面的界面,清风侠讲的方法我也考虑过,但是界面看起来还是有区别
    http://pics.tom.com/gallery/public/200112/209958_91200.jpg
      

  6.   

    不好意思,原来MDI的客户区可以变的,谢谢各位,上分
      

  7.   

    当你把子窗体的Parent设为Panel后,它就成了Panel的子窗体(注意:是子窗体而不是MDI子窗体),所以得不到输入焦点.
        实际上,MDI子窗体并不是MDI主窗体的子窗体而是MDI Client的子窗体.
        要实现你想要的界面,可以试试以下方法:
        1:用代码控制所有Panel(或其它控件)的位置和大小(而不依靠Align属性),并修改MDIClient的位置和大小.
        2:不使用窗体,改用普通窗体,设为Panel的子窗体,用代码控制输入焦点的设置及其它MDI Client的功能(要用WIN API 函数).
        3:编写一个控件,封装MDI Client.