我这样写只显示出第一行啊
    m_wndToolBar.Create(this,WS_CHILD | WS_VISIBLE | CBRS_TOP|TBSTYLE_WRAPABLE);
    m_wndToolBar.LoadToolBar(IDR_FACE);
    m_wndToolBar.SetBarStyle(CBRS_ALIGN_TOP |CBRS_ALIGN_LEFT   | CBRS_FLYBY);
    m_wndToolBar.GetToolBarCtrl().SetRows(3,TRUE,&m_Rect);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

解决方案 »

  1.   

    从CTooBar派生:
    class CPaletteBar : public CToolBar
    {
    // Constructor
    public:
    CPaletteBar();
    void SetColumns(UINT nColumns);
    UINT GetColumns() { return m_nColumns; };
    public:
    virtual ~CPaletteBar();
    };
    //.cpp文件CPaletteBar::CPaletteBar()
    {
    m_nColumns = 2;
    m_cxLeftBorder = 5;
    m_cyTopBorder = 5;
    m_cxRightBorder = 5;
    m_cyBottomBorder = 5;
    }CPaletteBar::~CPaletteBar()
    {
    }
    void CPaletteBar::SetColumns(UINT nColumns)
    {
    m_nColumns = nColumns;
    int nCount = GetToolBarCtrl().GetButtonCount(); for (int i = 0; i < nCount; i++)
    {
    UINT nStyle = GetButtonStyle(i);
    BOOL bWrap = (((i + 1) % nColumns) == 0);
    if (bWrap)
    nStyle |= TBBS_WRAPPED;//换行
    else
    nStyle &= ~TBBS_WRAPPED;
    SetButtonStyle(i, nStyle);
    }

    Invalidate();
    GetParentFrame()->RecalcLayout();
    }
      

  2.   

    好像没贴全啊
    能不能把代码都贴出来啊
    或者发到[email protected]
    谢谢
      

  3.   

    而且我直接setbuttonstyle怎么不行呢
      

  4.   

    我现在的情况是toolbar只有一个3行的区域
    但只在第一行有按钮
    这是为什么啊