::SetCapture(GetSafeHwnd());
MSG msg;
while(::GetMessage(&msg, NULL, NULL, NULL))
{
if(::GetCapture() != GetSafeHwnd())
break;
else if(msg.message <WM_MOUSEFIRST || msg.message >WM_MOUSELAST)
{ //如果是和鼠标无关的消息,
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
else if(msg.message == WM_LBUTTONUP)
{
point.x =(short)LOWORD(msg.lParam);
point.y =(short)HIWORD(msg.lParam);
m_iPos = GetPosFromPt(point,rt);
if (m_iPos > m_iMaxValue)
m_iPos = m_iMaxValue;
Invalidate();
SliderChange();
::ReleaseCapture();
}
else if(msg.message == WM_MOUSEMOVE)
{
point.x =(short)LOWORD(msg.lParam);
point.y =(short)HIWORD(msg.lParam);
m_iPos = GetPosFromPt(point,rt);
if (m_iPos > m_iMaxValue)
m_iPos = m_iMaxValue;
Invalidate();
if(m_bNeedMoveChange)
SliderChange();
}
}