http://msdn.microsoft.com/zh-cn/office/aa297235%28v=msdn.10%29.aspx

解决方案 »

  1.   

    你的停靠CWnd是什么意思?是指对话框窗口吗。
      

  2.   

    可以看看CMainFrame中Create()函数m_NewToolBar1.EnableDocking(CBRS_ALIGN_ANY);
       //将此工具栏与默认工具栏放在同一行
       CRect rect;
       m_NewToolBar1.GetWindowRect(&rect);
       rect.OffsetRect(1, 0);
       this->RecalcLayout();     //关键的一步,重新排列
       DockControlBar(&m_NewToolBar1, AFX_IDW_DOCKBAR_TOP, &rect);
      

  3.   

    自己写个工具栏呗,在对话框(当父窗体)放按钮当toolbar的按钮,至于悬浮你把这个对话框做成悬浮挺好的功能,单文档视图里面有
      

  4.   

    你的停靠CWnd是什么意思?是指对话框窗口吗。
    各位大仙,其实我是想自绘CToolBar的,时间有点紧,别的不说了,就是能不能做到既保留原来CToolBar的停靠功能,但是又能让GetWindowRect返回的是整个工具栏的区域(CControlBar),而不是仅仅返回CToolBar的区域,只要办到这一点就OK了,我试了,关键就是这句代码DockControlBar((CToolBar*)&m_wndToolBar);在FrameWnd的OnCreate里执行的,去掉这句后,CToolBar的GetWindowRect是我想要的值,但是工具栏不能拖放了,加上了,工具栏可以拖放停靠,但是CToolBar的GetWindowRect又不对了,不像你们可以建个简单的工程,试一试,看我说的有没有问题