2016-12-17 4 views
2

Ich benutze MFC C++. Ich mit CToolBar ich versuche, die Standardgreifer Style Wechsel:So ändern Sie den Standardgreifer Style 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 
    } 

Ich möchte, dies ändern:

enter image description here

dazu:

enter image description here

Jede Hilfe?

+1

Try 'SetWindowTheme (m_wndToolBar.m_hWnd, L "" L "")' –

+0

@BarmakShemirani Vielen Dank ihrer Arbeit. –

Antwort

0

Endlich seine Arbeit. Danke an 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); 
     }