实现CSliderCtrl的子类CXXCtrl
响应左键按下消息
ON_WM_LBUTTONDOWN()
void CXXCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
// 按键在滑动块区域内,不做操作
CRect tRect;
GetThumbRect(&tRect);
if (tRect.PtInRect(point))
{
CSliderCtrl::OnLButtonDown(nFlags, point);
return;
}
// 实现滑动块精确定位
CRect rcSlider;
GetChannelRect(&rcSlider);
int nMax = GetRangeMax();
float fInterval = float(rcSlider.Width())/nMax;
float fPos = (point.x-rcSlider.left+fInterval-1)/fInterval;
CSliderCtrl::SetPos((int)fPos);
}