有人用过VS2008 feature pack吗?用Feature pack建的MDI、SDI工程中,有多个工具条,怎么让它在我们运行时,都按指定位置排放呢?如果没用过,那普通的MDI SDI是的工具条怎么指定位置排放的? 非常谢谢!!!

解决方案 »

  1.   

    VS2008 feature pack下的工具条什么的,都是来自pan,你在电脑里面使用后的,这些工具条信息会自动记录到注册表的!楼主要怎么做?自己排列?那应该是movewindow 或者setwindowpos可以吧!
      

  2.   

    在创建的时候,可以指定停靠风格以及初始位置,与传统的是完全一致的。例如m_wndToolbar***.EnableDocking(CBRS_ALIGN_BOTTOM);//创建在底部;
    另外,楼上值得是CDockPane不是工具条,也可在穿件是指定位置,同时面板提供了AttachToTabWnd方法指定组中的位置,
      

  3.   

    在创建的时候,在Create函数里指定位置,可以指定停靠风格以及初始位置,与传统的是完全一致的。另外也可以创建之后指定,例如m_wndToolbar***.EnableDocking(CBRS_ALIGN_BOTTOM);//创建在底部; 
    另外,楼上值得是CDockPane不是工具条,同样也可在创建时指定位置,同时面板还提供了AttachToTabWnd方法指定组中的位置。
      

  4.   

    PS:DockPane(&m_wndToolbar***);
        DockPaneLeftOf (&m_wndToolbar***,&m_wndToolbar***);  //指定具体的排列顺序
      

  5.   

    feature  pack中的Cpane是没 这个函数的(DockPaneLeftOf)
      

  6.   

    movewindow 或者setwindowpos可以吧!
      

  7.   

    我是刚接触这个了,不熟悉了,
    我也试一下,
    我的代码:
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndMyBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndMyBar1.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    //DockPane(&m_wndMenuBar);
    DockPane(&m_wndToolBar);
    DockPane(&m_wndMyBar);
    (9) DockPane(&m_wndMyBar1);(10) m_wndMyBar1.MoveWindow(CRect(0, 0, 20,20));这样还是没效果;如果把(9)注释了,m_wndMyBar1就是那种不能拖动的工具条,整个占用第一行,并会覆盖另两个工具条了
      

  8.   

    如果把(9)注释了,用moveWindow指定区域,是可以改变它的位置,但只是它不能拖动,也是整行区域都占用了
      

  9.   

    非常您的回答,问题已解决,是我创建是出了问题,应该给创建每个toolbar分配一个nID,但我用的默认值,所以多个toolbar用同一个ID了,可以结贴了