【问题标题】:VC++ MFC application cant log mouse numerical coordinatesVC++ MFC 应用程序无法记录鼠标数值坐标
【发布时间】:2018-02-27 21:12:21
【问题描述】:

我是 MFC 的新手,我试图在 Windows 上创建一个快速应用程序来模拟硬件/计算机外围设备,稍后我将与它集成,但硬件将发送屏幕 x 和 y 坐标。

我创建了一个捕获鼠标事件和鼠标移动事件的 MFC 应用程序。

我能够捕获鼠标移动事件,但是日志没有显示 X 和 Y 的数值,而是输出 X 的值 & 的 .cpp 文件路径,而 Y 没有任何内容,奇怪吗?

参见下面的代码 sn-p:

  void CRingExampleView::OnMouseMove(UINT nFlags, CPoint point)
{
    // TODO: Add your message handler code here and/or call default
    /*
    I also tried declaring a new point POINT p and passing that to GetCursorPos(&p), but still now numerical output
    */
    if (GetCursorPos(&point))
    {

        TRACE("X:", point.x);
        TRACE("Y:", point.y);

    }

    CScrollView::OnMouseMove(nFlags, point);
}

        CScrollView::OnMouseMove(nFlags, point);
    }//end function 

查看日志和应用程序的屏幕截图:

如何输出数字 x 和 y 值?

谢谢

【问题讨论】:

  • MFC 的“新”??? MFC 至少已经过时了十年 :( 有没有机会使用不同的技术?或者你必须(无论出于何种原因)使用 MFC?
  • 如果你想使用TRACE宏,你应该考虑阅读documentation
  • @paulsm4:根据您的结论,MFC 已经过时了?它不是。它仍然得到微软官方支持,是唯一官方支持的桌面应用程序开发 C++ 框架。

标签: c++ visual-c++ mfc


【解决方案1】:

问题是您的 TRACE 语句需要一个格式字符串。

示例:

 TRACE(_T("X: %d"), point.x);

您可以在这里阅读更多内容:

MFC Debugging Techniques

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    相关资源
    最近更新 更多