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); } } }

你可能感兴趣的:(slider)