如何在CScrollView的子类中用鼠标拖动线条
if(point.y <= m_nDown+10 && point.y >=m_nDown-10 )//拖动下线
{
::SetCursor(::LoadCursor(NULL,IDC_SIZENS));
if(m_bLButtonDown == true)
{
InvalidateRect(CRect(0,m_nDown-1,822,m_nDown+1));
m_nDown = point.y;
CClientDC dc(this);
CPen *pOldPen,pNewPen;
pNewPen.CreatePen(PS_DASHDOT,1,RGB(220,220,220));
pOldPen=dc.SelectObject(&pNewPen);
dc.MoveTo(0,m_nUp);
dc.LineTo(820,m_nUp);
}
}
边拖动时边显示线条,而且设备坐标与逻辑坐标要很好的转换,我拖动时没动滚动条时拖动很正常,动了滚条就不行了.
if(point.y <= m_nDown+10 && point.y >=m_nDown-10 )//拖动下线
{
::SetCursor(::LoadCursor(NULL,IDC_SIZENS));
if(m_bLButtonDown == true)
{
InvalidateRect(CRect(0,m_nDown-1,822,m_nDown+1));
m_nDown = point.y;
CClientDC dc(this);
CPen *pOldPen,pNewPen;
pNewPen.CreatePen(PS_DASHDOT,1,RGB(220,220,220));
pOldPen=dc.SelectObject(&pNewPen);
dc.MoveTo(0,m_nUp);
dc.LineTo(820,m_nUp);
}
}
边拖动时边显示线条,而且设备坐标与逻辑坐标要很好的转换,我拖动时没动滚动条时拖动很正常,动了滚条就不行了.
MM_TEXT模式下有效。SCROLLINFO si;
GetScrollInfo(BS_VERT,&si);
pos = si.nPos; //这个是你目前滚动过y轴的像素数。那么这个时候你屏幕上视图区左上角的坐标就是(0,pos)