在框架类通过重载PreTranslateMessage截取并处理工具栏的消息失败,该如何处理

在框架类通过重载PreTranslateMessage截取并处理工具栏的消息失败
滑动条控制在MFC类库中被封装为CSliderCtrl控制,其主要操作是设置刻度范围、绘制刻度标记、设置选择范围和当前滑标位置等。当用户进行交互操作时,滑动条控制将向其父窗口发送消息WM_HSCROLL,所以在应用程序中应重载父窗口的OnHScroll()成员函数,以便对消息进行正确处理。

      在CMainFrame类添加一个成员变量CSliderCtrl   m_SliderCtrl,是一个滑块控件然后把它创建在CttToolbar   m_ToolBar(一个工具栏)上,因此滑块的父窗口是m_ToolBar,但无法在CttToolbar添加WM_HSCROLL消息处理函数(CttToolbar是一个底层基类,无法修改,也不能派生)。

        然后我重载PreTranslateMessage函数,写了一个测试代码,  
BOOL   CMainFrame::PreTranslateMessage(MSG*   pMsg)  
{  
if((pMsg-> message==WM_HSCROLL)&&(pMsg-> hwnd==m_wndStereoToolbar.GetSafeHwand()))  
{  
CString   str;  
int   i   =   m_SliderCtrl.GetPos();  
str.format( "%d ",i);   AfxMessageBox(str);   }  
}  

        但是运行时拖动滑块控件并没有反应,这是为什么呢?


------解决方案--------------------
有的消息不是发送到消息队列的,也就不会经过这里.
你可以重载WindowProc 在里面处理