int index = 0;
RECT rect;
//设置指定工具项的宽度并获取新的区域  80是宽度
//ID_BUTTON_Toolbar_Stop是工具栏上最后一个按钮的ID
index   =   m_wndToolBar.CommandToIndex(ID_BUTTON_Toolbar_Stop);  
m_wndToolBar.SetButtonInfo(index, ID_BUTTON_Toolbar_Stop, TBBS_BUTTON,260);
m_wndToolBar.GetItemRect(index, &rect); RECT rect_static;
rect_static.left = rect.left + 10 ;//左上角X坐标
rect_static.top = rect.top;//左上角Y坐标
rect_static.right = rect.right;//右下角X坐标
rect_static.bottom = rect.bottom + 15;//右下角Y坐标 // 创建并显示控件
if(!m_static.Create("aaaaaaaaaaaaaaaaaaaaaaaa", WS_CHILD|WS_VISIBLE, rect_static, &m_wndToolBar, ID_BUTTON_Toolbar_Stop))
return false;
m_static.ShowWindow(SW_SHOW);
这段代码运行后还是不能把工具栏加长,m_static创建后只能在工具栏最后一个上显示出来,并不能在最后一个按钮的右边显示请问我改怎么改啊??

解决方案 »

  1.   

    请问你添加的是ToolBar 还是Menu 弄清楚哦
      

  2.   

    代码中的类型分别是:
    CMFCToolBar  m_wndToolBar;
    CStatic    m_static;以上代码在主框架的OnCreate函数中调用,调用之前m_wndToolBar已经创建完成。
      

  3.   

    用CMFCToolBar::ReplaceButton()比较方便
      

  4.   


    同样的代码,我用CMFCToolBar不行,用CToolBar就可以想用CMFCToolBar是因为他生成的工具条比较漂亮,但是怎么这么难用啊?而且网上关于CMFCToolBar资料也很少这类在VS2008出的吧,都VS2012了用的人还是很少,是不是说明一不好用,二如果界面想漂亮直接都用C#或者JAVA了VC现在的市场只是底层了