LL);
}
CStatic::OnLButtonDown(nFlags, point);
}
void CCustomScroll::OnLButtonUp(UINT nFlags, CPoint point)
{
ReleaseCapture();
m_ButtonDown = FALSE;
m_IsLeftRange = FALSE;
m_IsRightRange = FALSE;
if (m_IsLeftArrow)
{
m_IsLeftArrow = FALSE;
KillTimer(1);
}
if (m_IsRightArrow)
{
m_IsRightArrow = FALSE;
KillTimer(1);
}
CStatic::OnLButtonUp(nFlags, point);
}
void CCustomScroll::OnMouseMove(UINT nFlags, CPoint point)
{
if (m_ButtonDown)
{
int offset = point.x-m_Startpt.x;
m_Startpt = point;
DWORD wparam;
if (offset<=0) //向左拖动滚动块
{
if (m_ThumbRect.left<=(int)m_ThumbWidth)
return;
else if (abs(offset)>(int)(m_ThumbRect.left-m_ThumbWidth)) //判断当前滚动量是否超出了滚动范围
{
int width = m_ThumbRect.Width();
m_ThumbRect.left = m_ThumbWidth;
m_ThumbRect.right = m_ThumbRect.left+width;
m_CurPos = 0;
wparam = MAKELONG(SB_THUMBPOSITION,m_CurPos);
::SendMessage(GetParent()->m_hWnd,WM_HSCROLL,wparam,(LPARAM)m_hWnd);
DrawControl();
return;
}
}
else if (offset>0) //向右拖动滚动块
{
if (m_ThumbRect.right>=m_ClientRect.Width()-m_ThumbWidth) //超出右箭头
{
return;
}
else if ( offset> m_ClientRect.Width()-m_ThumbWidth-m_ThumbRect.right) //判断当前滚动量是否超出了滚动范围
{
int width = m_ThumbRect.Width();
m_ThumbRect.right = m_ClientRect.Width()-m_ThumbWidth;
m_ThumbRect.left = m_ThumbRect.right -width;
m_CurPos = m_MaxRange;
wparam = MAKELONG(SB_THUMBPOSITION,m_CurPos);
::SendMessage(GetParent()->m_hWnd,WM_HSCROLL,wparam,(LPARAM)m_hWnd);
上一篇:
CustomPopMenuDlg.cpp
下一篇:
阿克苏教育学院论文查重比例|阿克苏教育学院论文抄袭比例