我已去掉FLY_BY属性,可为什么还能浮动?我意思是想让工具条就在左边,不让能拖动?

解决方案 »

  1.   

    MainFrame 的 OnCreate 中有关 dock 的内容,去掉即可 EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);
      

  2.   

    qwedcxza(自娱自乐) : 谢谢你的参与!
    但我不能去掉Dock内容呀!因为我想将ControlBar放在左边,如果去掉,那工具条就到top上去了,怎么办? m_wndDesignControlBar.EnableDocking(CBRS_ALIGN_LEFT);
    EnableDocking(CBRS_ALIGN_LEFT);
    DockControlBar(&m_wndDesignControlBar,AFX_IDW_DOCKBAR_LEFT);
      

  3.   

    Sorry,那么你说的是锁定工具条,我还不知道现成的方法,也许该想看一看 IE 等工具条锁定时候的消息,调用过程什么的。。
      

  4.   

    fandh(好了) :那快回忆吧,我会加分的!@
      

  5.   

    从CToolBar类继承一个新的类, 然后截取WM_LBUTTONDOWN消息,处理函数里不用写任何代码。
      

  6.   

    好像应该去掉的是 CBRS_FLOAT_MULTI
    CBRS_FLYBY 好像与浮动无关
      

  7.   

    to yizhili(梨子) :CBRS_FLYBY  是与浮动无关,但CBRS_FLOAT_MULTI是说多个controlBar能否在一个single mini-frame window,我试了不行;有关系的是CBRS_FLOATING属性,但我调试看了,没有设上此属性呀?
    (#define CBRS_FLOATING       0x0001L)哎,不知该怎么办了?
      

  8.   

    CBRS_SIZE_DYNAMIC是不能去掉的,否则放在左边就是横的了!!算了,解决不了了,真伤心!
    我现在是放在top了,按照qwedcxza(自娱自乐)的方法:
    MainFrame 的 OnCreate 中有关 dock 的内容,去掉即可 EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);只是这样布局不好看了·
    算了,每时间了,项目要交差了!谢谢大家的参与!