Mfc 中多个SliderCtrl滑动事件的捕捉

在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);
  }
 }
}
原文地址:https://www.cnblogs.com/qq78292959/p/2162228.html