如何绘制工具栏右边区域

直接来代码:

 

在CMainFram::OnCreate()工具栏创建之后调用.
CDockBar* pDockTOP = (CDockBar*)GetControlBar(AFX_IDW_DOCKBAR_TOP);
oriprocT= (WNDPROC)GetWindowLong(pDockTOP->m_hWnd, GWL_WNDPROC); 
SetWindowLong(pDockTOP->m_hWnd, GWL_WNDPROC,  (long)yourprocT); 


LRESULT  yourprocT(HWND  h,  UINT  u,  WPARAM  w,  LPARAM  l) 

if(u == WM_ERASEBKGND)

        //w是HDC,你该知道怎么做了吧 
RECT rect;
CBrush m_bkbrush;
m_bkbrush.CreateSolidBrush(theApp.MDColor);
::GetClientRect(h, &rect);
if(w)
{
::FillRect((HDC)w, &rect,(HBRUSH)m_bkbrush.m_hObject);
}
return TRUE; 

return  oriprocT(h, u, w, l); 
}

你可能感兴趣的:(工具)