void CEditableRange::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { if (nSBCode == SB_THUMBPOSITION || nSBCode == SB_THUMBTRACK || nSBCode == SB_LINERIGHT || nSBCode == SB_LINELEFT) { UpdateData(TRUE); if (nSBCode == SB_THUMBPOSITION || nSBCode == SB_THUMBTRACK) { m_SliderPos = nPos; UpdateData(FALSE); } CSliderCtrl *sl = (CSliderCtrl *) GetDlgItem(IDC_SLIDER); if ( (sl->GetRangeMax() - sl->GetRangeMin()) != 0 ) { updateValueFromSlider(m_SliderPos * 1.f / (sl->GetRangeMax() - sl->GetRangeMin())); } else { updateValueFromSlider(0); } CDialog::OnHScroll(nSBCode, nPos, pScrollBar); } }
void CEditableRange::OnReleasedcaptureSlider(NMHDR* pNMHDR, LRESULT* pResult) { UpdateData(); CSliderCtrl *sl = (CSliderCtrl *) GetDlgItem(IDC_SLIDER); if ( (sl->GetRangeMax() - sl->GetRangeMin()) != 0 ) { updateValueFromSlider(m_SliderPos * 1.f / (sl->GetRangeMax() - sl->GetRangeMin())); } else { updateValueFromSlider(0); } *pResult = 0; }