我是MFC的新手,我试图在Windows上创建一个快速应用程序以模拟硬件/计算机外围设备,以后将与之集成,但如果可用,硬件将发送屏幕x和y坐标。
我创建了一个MFC应用程序,捕获鼠标事件和鼠标移动事件。
我能够捕获鼠标移动事件,但是日志不显示X和Y的数值,而是输出.cpp文件路径作为X的值,而对于Y则不输出任何东西,奇怪吗?
请参见下面的代码段:
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的数值?
谢谢
最佳答案
问题是您的TRACE语句需要一个格式字符串。
例:
TRACE(_T("X: %d"), point.x);
你可以在这里阅读更多:
MFC Debugging Techniques
关于c++ - VC++ MFC应用程序无法记录鼠标数字坐标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49018019/