Joh*_*nas 1 c++ opengl mouse winapi
我正在编写一个用于绘画的Win32 OpenGL应用程序,其中处理所有鼠标移动至关重要.碰巧的是,有时候我的程序中的绘制操作无法实时执行 - 这对我来说很好,只要所有鼠标事件都排队并且可以稍后处理.现在我认为这只是调用PeekMessage确保处理所有事件的问题,但是当我这样做时,很明显我的应用程序接收的鼠标移动与Windows显示的那些保真度不同.
这是Windows的一个功能吗?当应用程序是劳动密集型时,是否会丢弃鼠标事件 或者我错过了什么?在任何一种情况下,我该怎么做才能解决这种情况?我想避免多线程,部分原因是,据我所知,Win32要求消息回调在主线程中,我不确定将OpenGL内容分离到不同的上下文.
至于代码示例,我实际上是在下面的链接中使用模板代码.我正在检查的消息是WM_MOUSEMOVE.
http://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/
WM_MOUSEMOVE特别之处在于它没有排队; 当消息队列为空时,它会根据需要自动生成.(WM_PAINT和WM_TIMER行为相同的方式.)
GetMouseMovePointsEx如果您需要额外的鼠标输入数据,Raymond Chen建议使用.
补充阅读:
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |