CSDN=>FAQ=>FAQ 展示
  • 问题内容:请问如何在视图中跟随鼠标移动显示曲线坐标?
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=5531106
  • 所属论坛:界面     审核组:VC/MFC
  • 提问者:yannie     解决者:JoeDuke
  • 感谢:JoeDuke
  • 关键字:VC/MFC 界面
  • 答案:

    如题。
    我想要的那种效果是,随着鼠标移动,在视图客户区左侧和底侧显示鼠标所在处的y和x坐标,而且坐标的位置也随鼠标一起移动

    我在WM_MOUSEMOVE消息响应函数中获取鼠标点的位置,然后计算坐标值,然后画到相应的位置,结果不行。。。

    哪位做过类似的东西贴段代码吧,谢谢

    ---------------------------------------------------------------
    1、为视图添加
    private:
    CPoint m_ptCurrent;
    2、视图的构造函数为
    Ctest1View::Ctest1View()
    : m_ptCurrent(0)
    {
    // TODO: 在此处添加构造代码

    }
    3、void Ctest1View::OnDraw(CDC* pDC)
    {
    Ctest1Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
    return;

    // TODO: 在此处为本机数据添加绘制代码
    CString strInfo ;

    strInfo.Format("%d, %d", m_ptCurrent.x, m_ptCurrent.y) ;
    pDC->TextOut(m_ptCurrent.x+15, m_ptCurrent.y-10, strInfo) ;
    }
    4、 
    void Ctest1View::OnMouseMove(UINT nFlags, CPoint point)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    m_ptCurrent = point ;
    InvalidateRect(NULL) ;

    CView::OnMouseMove(nFlags, point);
    }

    以下是源代码的下载地址

    http://bbs.yesky.com/bbs.php?url=/viewthread.php?tid=2762635&pid=3320939&page=&extra=


    ---------------------------------------------------------------

    void Ctest1View::OnMouseMove(UINT nFlags, CPoint point)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    CRect rc ;
    CPoint ptPrev = m_ptCurrent ;
    m_ptCurrent = point ;
    rc.SetRect(m_ptCurrent.x - 100, m_ptCurrent.y - 100, m_ptCurrent.x + 100, m_ptCurrent.y + 100) ;
    InvalidateRect(&rc) ;
    rc.SetRect(ptPrev.x - 100, ptPrev.y - 100, ptPrev.x + 100, ptPrev.y + 100 ) ;
    InvalidateRect(&rc) ;

    CView::OnMouseMove(nFlags, point);
    }


    void Ctest1View::OnDraw(CDC* pDC)
    {
    Ctest1Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
    return;

    // TODO: 在此处为本机数据添加绘制代码
    CString strInfo ;

    strInfo.Format("%d, %d", m_ptCurrent.x, m_ptCurrent.y) ;
    pDC->TextOut(m_ptCurrent.x+15, m_ptCurrent.y-10, strInfo) ;
    }

    先演示一个思路吧,具体的细节,你如果能看明白,应该也可以写出自已的代码

  • 评价: 有价值 给朵鲜花(2) 无价值 扔个鸡蛋(1)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo