Example #1
0
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);
	}		
}
Example #2
0
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;
}