谢谢

解决方案 »

  1.   

    呵呵,我刚好写过一个这样的东西,就把代码贴给你吧,你去参考一下:void CMainFrame::OnSizing(UINT fwSide,  LPRECT pRect) 
    {
    CFrameWnd::OnSizing(fwSide,  pRect);

    // TODO: Add your message handler code here
    float RateSize = (float)(3/4.0);//由用户确定; if(fwSide == 1 || fwSide == 2 || fwSide == 7 || fwSide == 8)//左右边和左右下角;
    pRect->bottom = pRect->top + (int)((pRect->right - pRect->left)*RateSize);
    else if(fwSide == 6 || fwSide == 3)//上下边;
    pRect->right = pRect->left - (int)((pRect->top - pRect->bottom)/RateSize);
    else if(fwSide == 4)//左上角;
    {
    if((pRect->right - pRect->left)*RateSize > (pRect->top - pRect->bottom))
    pRect->left = pRect->right + (int)((pRect->top - pRect->bottom)/RateSize);
    else
    pRect->top = pRect->bottom - (int)((pRect->right - pRect->left)*RateSize);
    }
    else//fwSide == 4;//右上角;
    {
    if((pRect->right - pRect->left)*RateSize > (pRect->top - pRect->bottom))
    pRect->right = pRect->left - (int)((pRect->top - pRect->bottom)/RateSize);
    else
    pRect->top = pRect->bottom - (int)((pRect->right - pRect->left)*RateSize);
    }
    }