我在一个单对话框的工程里做了一个CPropertySheet m_Sheet 增加了三个页面,怎么才能当对话框最大化时,m_Sheet 也变大?谢谢!请大侠们帮帮忙

解决方案 »

  1.   


    OnSize
    {
    if(ShowFlag)
    {
    if(Normal)
    {
    CRect rect;
    GetDlgItem(DlgID)->GetWindowsRect(rect);
    rect.SetRect(MaxTopLeft, MaxBottomRight);
    GetDlgItem(DlgID)->MoveWindow(rect);
    }
    else
    {
    CRect rect;
    GetDlgItem(DlgID)->GetWindowsRect(rect);
    rect.SetRect(NormalTopLeft, NormalBottomRight);
    GetDlgItem(DlgID)->MoveWindow(rect);
    }
    }
    }如果还要支持边框拖拽,就要用缩放比例。
      

  2.   

    void
    CCommonCalcDialogInner::Arrange( void )
    {
    #define MYWIDTH (mywidth)
    #define MYTOP (8)
    //最左边的余量
    #define MYLEFT (8)
    //定义为了好看,右边的空余量
    #define MYRIGHT (3) r.left = MYLEFT + 4;
    r.top = MYTOP + 13 + 50;
    r.right = MYWIDTH - 2 * MYLEFT - 8;
    r.bottom = r.top + myhigh - 50 - 100; m_maintab.MoveWindow( r.left, r.top, r.right, r.bottom );