多个工具条排列问题(VC)

来源:互联网 发布:淘宝店铺出售有风险吗 编辑:程序博客网 时间:2024/05/22 04:50
多个工具条实现顶对齐
  1. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  2. {
  3.     if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  4.         return -1;
  5.     
  6.     if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  7.         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  8.         !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  9.     {
  10.         TRACE0("Failed to create toolbar/n");
  11.         return -1;      // fail to create
  12.     }
  13.     if (!m_wndColorBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  14.         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  15.         !m_wndColorBar.LoadToolBar(IDR_TOOLBAR_COLOR))
  16.     {
  17.         TRACE0("Failed to create toolbar/n");
  18.         return -1;      // fail to create
  19.     }
  20.     if (!m_wndStatusBar.Create(this) ||
  21.         !m_wndStatusBar.SetIndicators(indicators,
  22.           sizeof(indicators)/sizeof(UINT)))
  23.     {
  24.         TRACE0("Failed to create status bar/n");
  25.         return -1;      // fail to create
  26.     }
  27.     // TODO: Delete these three lines if you don't want the toolbar to
  28.     //  be dockable
  29.     if (!m_wndWidthBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  30.         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  31.         !m_wndWidthBar.LoadToolBar(IDR_TOOLBAR_WEIGTH))
  32.     {
  33.         TRACE0("Failed to create toolbar/n");
  34.         return -1;      // fail to create
  35.     }
  36.     if (!m_wndPageBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  37.         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  38.         !m_wndPageBar.LoadToolBar(IDR_TOOLBAR_PAGE))
  39.     {
  40.         TRACE0("Failed to create toolbar/n");
  41.         return -1;      // fail to create
  42.     }
  43.     if (!m_wndPenBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  44.         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  45.         !m_wndPenBar.LoadToolBar(IDR_TOOLBAR_PEN))
  46.     {
  47.         TRACE0("Failed to create toolbar/n");
  48.         return -1;      // fail to create
  49.     }
  50.     //
  51.     
  52.     m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  53.     EnableDocking(CBRS_ALIGN_ANY);
  54.     DockControlBar(&m_wndToolBar);
  55.     
  56.     m_wndWidthBar.EnableDocking(CBRS_ALIGN_ANY);
  57.     EnableDocking(CBRS_ALIGN_ANY);
  58.     m_wndColorBar.EnableDocking(CBRS_ALIGN_ANY);
  59.     EnableDocking(CBRS_ALIGN_ANY);
  60.     m_wndPageBar.EnableDocking(CBRS_ALIGN_ANY);
  61.     EnableDocking(CBRS_ALIGN_ANY);
  62.     m_wndPenBar.EnableDocking(CBRS_ALIGN_ANY);
  63.     EnableDocking(CBRS_ALIGN_ANY);
  64.     CRect   rect;   
  65.     RecalcLayout();   
  66.     m_wndToolBar.GetWindowRect(&rect);   
  67.     rect.OffsetRect(1,0);   
  68.     UINT wType;
  69.     DWORD   dw;   
  70.     dw=m_wndToolBar.GetBarStyle();   
  71.     wType   =   0;   
  72.     wType   =   (dw&CBRS_ALIGN_TOP)   ?   AFX_IDW_DOCKBAR_TOP   :   wType;   
  73.     wType   =   (dw&CBRS_ALIGN_BOTTOM   &&   wType==0)   ?   AFX_IDW_DOCKBAR_BOTTOM   :   wType;   
  74.     wType   =   (dw&CBRS_ALIGN_LEFT   &&   wType==0)   ?   AFX_IDW_DOCKBAR_LEFT   :   wType;   
  75.     wType   =   (dw&CBRS_ALIGN_RIGHT   &&   wType==0)   ?   AFX_IDW_DOCKBAR_RIGHT   :   wType;  
  76.     
  77.     DockControlBar(&m_wndColorBar,wType,&rect); 
  78.     DockControlBar(&m_wndWidthBar,wType,&rect);
  79.     DockControlBar(&m_wndPageBar,wType,&rect);
  80.     DockControlBar(&m_wndPenBar,wType,&rect);
  81.         return 0;
  82. }
原创粉丝点击