在Mfc中SliderCtrl控件直接是没有事件来获取当滑动时SliderCtrl的值,不过可以处理ON_WM_HSCROLL消息,在头文件中添加:
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
在cpp中的消息队列映射中添加:
ON_WM_HSCROLL()
最后添加处理函数:
void CMusicPlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
if(pScrollBar != NULL )
{
// 强制转换成CSliderCtrl
CSliderCtrl* pSlider = (CSliderCtrl*)pScrollBar;
// 根据CSliderCtrl ID 来判断是哪一个CSliderCtrl
if(pSlider->GetDlgCtrlID() == IDC_VOLUME)
{
long v = 10*pSlider->GetPos();
player.SetVolume(v);
CString ff;
ff.Format(_T("%d"),v);
aa.SetWindowTextW(ff);
}
}
}