在FormView里如何点一下鼠标然后拖动到另一个地方时,再点一下鼠标,确定两点间距离??

解决方案 »

  1.   

    映射ON_WM_LBUTTONDWON,在里面记录鼠标落下的位置,自己算吧!
      

  2.   

    点一下,得到一个Point,
    再点一下,再得到一个Point(可以用GetCursorPos),两个点,算距离应该不成问题吧?
      

  3.   

    在view的头文件里定义:
    bool m_bFirst;
    CPoint m_ptFirst;然后响应WM_LBUTTONDOWN;
    void CXsView::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    if(m_bFirst)
    {
    m_ptFirst = point;
    m_bFirst = FALSE;
    }
    else
    {
    CString csText;
    csText.Format(_T("距离:x = %d,y = %d"),point.x - m_ptFirst.x,point.y - m_ptFirst.y);
    MessageBox(csText);
    m_bFirst = TRUE;
    } CFormView::OnLButtonDown(nFlags, point);
    }