m_wndToolBar.Create(this,IDD_BTN_BAR,CBRS_ALIGN_LEFT|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC,IDD_BTN_BAR);
m_wndLeftBar.Create(this,IDD_LEFT_BAR,CBRS_ALIGN_LEFT|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC,IDD_LEFT_BAR);m_wndToolBar和m_wndLeftBar都是CDialogBar型变量,按如上代码放在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)执行后的效果是
两个CDialogBar左右并列分布在总界面的左边,那要如何写才能让这2个CDialogBar能上下并列分布在总界面的左边?

解决方案 »

  1.   

    自己计算好窗口的位置 然后 MoveWindow 过去
      

  2.   

    对,我就是想说movewindow没用啊,m_wndLeftWndbar.movewindow(...)没效果
      

  3.   

    先创建一个CReBar,靠左
    再在CReBar上创建你说的那两个Bar
      

  4.   

    OnSize 和 ResizeWnd  也都要做相应的movewindow吧 不过 ResizeWnd   可以调用 OnSize 来实现
      

  5.   

    记得dialogbar可以定义多个的,剩下的就是初始化位置了,试试onsize中movewindow。 另外楼主你的造型需要这么飘逸吗?
      

  6.   

    MoveWindow和SetWindowPos都试了,不知道是不是我试的方法不对,反正都不好使,
      

  7.   


    自己搞了大半天终于搞定了,在DialogBar里添加一个好像叫CalcFixedLayout的函数,里面可以随意设置大小和位置