请问如何在MDI框架中控制子窗口的大小及位置,本人尝试用SetWindowPos()等函数在CMyView中进行控制,结果子窗口的大小和位置不变。请教应该用什么函数去控制
子窗口的大小及位置,以及在什么位置进行处理,谢谢?

解决方案 »

  1.   

    是不是应该在CChildFrame里面控制啊?在View里面肯定不行
      

  2.   

    应该在MDIChildWnd子窗口类中进行大小控制吧。SetWindowPos和MoveWindow应该都可以吧。
      

  3.   

    你可以在CChildWindow类中,添加一个CRect m_Rect;的成员变量, 然后在OnCreate中调用MoveWindow(...); 这样你可以在创建子窗口前先给m_Rect赋值,指定子窗口的大小和位置
      

  4.   

    在CChildWindow类的OnCreate()中调用MoveWindow()是可行的,但是,这样做并不太灵活,因为这样,所有的子窗口都会有同样的位置和大小。能不能比较自由的控制不同子窗口的位置和大小。谢谢
      

  5.   

    例如:
    CChildFrame::Reposition()
    {
    RECT rect;
    AfxGetMainWnd()->GetClientRect(&rect); if(rect.bottom-rect.top<_EVENTFRM_CY_) return; rect.bottom -= 56;
    rect.top = rect.bottom - _EVENTFRM_CY_;
    rect.right -= 4;
    MoveWindow(&rect);
    }
      

  6.   

    最好在View视图类里设置,用this指针,然后可以根据你的要求来设置当前视图窗口的大小,每一个视图窗口都可以不一样。