不管我鼠标怎么点击Slider控件, GetPos()的值都不变化。我继承了CSliderCtrl类,在主对话框创建
m_Slider = new CMySliderCtrl();
m_Slider->Create(WS_CHILD | WS_VISIBLE | BS_OWNERDRAW | TBS_HORZ, CRect(0, 0, 100, 20), this, 1000);
m_Slider->MoveWindow(30, 30, 100, 20);
m_Slider->SetBackImage(L"图片路径", L"图片路径");
m_Slider->SetRange(0, 100);
m_Slider->SetLineSize(0);
m_Slider->SetPos(50);
在自己创建的CMySliderCtrl类里只是简单处理了OnPaint()添加2个背景图
点击来观察滑块是否变化
void CMySliderCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
// CRect rect;
// GetThumbRect(&rect);
char buf[10];
int i = GetPos();
sprintf(buf, "%d%%", i);
SetDlgItemTextA(::GetParent(this->m_hWnd), IDC_STATIC, buf);
CSliderCtrl::OnLButtonDown(nFlags, point);
}
请问我少加了什么东西啊?让控件内部帮我处理滑块的变动。