由于Slider控件没有滑块滚动的消息,但是可以用它的父窗体捕捉WM_HSCROLL消息来代替。
添加:
ON_W_HSCROLL()
然后实现OnHScroll接口:
void CTestDlg::OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pBar )
{
HWND hSliderWnd = pBar->m_hWnd;
int iSliderId = ::GetDlgCtrlID( hSliderWnd );
if( iSliderId == ::GetDlgCtrlD( m_kSliderHue::m_hWnd ) )
{
// do someting
}
else if( iSliderId == ::GetDlgCtrlID(m_kSlideSaturation::m_hWnd )
{
// do something
}
//......
}
PS: 虽然OnHScroll的第三个参数是CScrollbar* pBar,但实际上是CSliderCtrl* pSlider的值,所有取得的m_hWnd是
pSlider所指向的slider对象的窗体句柄。