2016-12-17 64 views
2

我正在使用MFC C++。我使用CToolBar的我尝试更改默认的抓取风格:如何更改默认夹具样式CToolbar?

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || 
     !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) 
    { 
     TRACE0("Failed to create toolbar\n"); 
     return -1;  // fail to create 
    } 

我想改变这一点:

enter image description here

这样:

enter image description here

任何帮助吗?

+1

尝试'SetWindowTheme(m_wndToolBar.m_hWnd,L “” L “”)' –

+0

@BarmakShemirani谢谢你的工作。 –

回答

0

最后它的工作。 感谢Barmak Shemirani。

Method 1: (docking enable) 

    SetWindowTheme(m_wndToolBar.m_hWnd,L"",L"") 


Method 2: (docking not working) 

    CReBarCtrl& rbc = m_wndReBar.GetReBarCtrl(); 
     REBARBANDINFO rbbi; 
     rbbi.cbSize = sizeof(rbbi); 
     rbbi.fMask = RBBIM_STYLE; 
     int nCount = rbc.GetBandCount(); 
     for (int i = 0; i < nCount; i++) 
     { 
      rbc.GetBandInfo(i, &rbbi); 
      rbbi.fStyle |= RBBS_NOGRIPPER; 
      rbbi.fStyle &= ~RBBS_GRIPPERALWAYS; 
      rbc.SetBandInfo(i, &rbbi); 
     } 
相关问题