如上!谢谢

解决方案 »

  1.   

    给你一段代码,你看用不用得着。是工具条的,菜单应该差不多//计算工具条位置
    CRect rcClient;
    CRect rcWindow;
    GetClientRect(&rcClient);
    GetWindowRect(&rcWindow); GlobalLayout *playout;
    playout=((CPatternDesignCADApp *)AfxGetApp())->GetGloballayoutPtr();
    playout->SetWindowRect(&rcWindow);
    playout->SetClientRect(&rcClient);

    CSize srToolBar=
    m_wndToolBar.CalcFixedLayout(FALSE,TRUE);
    CSize szToolSelect=
    m_wndToolSelectBox.CalcFixedLayout(FALSE,FALSE);
    CSize szObjView=
    m_wndObjViewBox.CalcFixedLayout(FALSE,TRUE);
    CSize szColorBar=
    m_wndColorBox.CalcFixedLayout(FALSE,TRUE);
    CSize szNavigator=
    m_wndNavigatorBox.CalcFixedLayout(FALSE,TRUE);
    CSize szLayerBar=
    m_wndLayerBox.CalcFixedLayout(FALSE,TRUE); playout->SetSize(&szToolSelect,
    GLOBALLAYOUT_TOOLSELECTSIZE);
    playout->SetSize(&szColorBar,
    GLOBALLAYOUT_TOOLCOLORSIZE);
    playout->SetSize(&szNavigator,
    GLOBALLAYOUT_TOOLNAVIGATORSIZE);
    playout->SetSize(&szObjView,
    GLOBALLAYOUT_TOOLOBJVIEWSIZE);
    playout->SetSize(&szLayerBar,
    GLOBALLAYOUT_TOOLLAYERSIZE); // 浮动工具条。
    int nPosY=(rcWindow.Height()-rcClient.Height())+srToolBar.cy; FloatControlBar(&m_wndToolSelectBox,
    CPoint(rcClient.left,nPosY), CBRS_ALIGN_LEFT);
    nPosY-=(rcWindow.Height()-rcClient.Height());
    FloatControlBar(&m_wndNavigatorBox,
        CPoint(rcClient.Width()-szNavigator.cx,nPosY),
    CBRS_ALIGN_LEFT);
    nPosY+=(szNavigator.cy+20);
    FloatControlBar(&m_wndObjViewBox,
        CPoint(rcClient.Width()-szObjView.cx,nPosY),
    CBRS_ALIGN_LEFT);
    nPosY+=(szObjView.cy+20);
    FloatControlBar(&m_wndColorBox,
    CPoint(rcClient.Width()-szColorBar.cx,nPosY),
    CBRS_ALIGN_LEFT);
    nPosY+=(szColorBar.cy+20);
    FloatControlBar(&m_wndLayerBox,
    CPoint(rcClient.Width()-szLayerBar.cx,nPosY),
    CBRS_ALIGN_LEFT); return 0;
    }