直接来代码:
在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);
}