我的代码中有一个循环函数,它调用PeekMessage
以检索事件。
目前它看起来像这样:
while (PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{
// Process events
}
现在我想在不同的位置管理输入,这意味着我想在我的主循环的不同时间在不同的地方检索诸如WM_KEYDOWN
, (鼠标和键盘事件)之类的消息。WM_MOUSEMOVE
PeekMessage
的第三个和第四个参数允许定义要返回的消息范围,所以我可以使用它,使用提供的宏WM_KEYFIRST
、WM_KEYLAST
和. 但这很不方便,因为我有两个范围来检查输入,因此剩下的所有内容都需要三个范围。WM_MOUSEFIRST
WM_MOUSELAST
最后一个参数是一个标志,我可以传递PM_REMOVE | PM_QS_INPUT
输入。但是,我应该在另一个循环中传递什么,我想在哪里获取所有其他消息?没有PM_QS_EVERYTHING_EXCEPT_INPUT
宏...
最优雅的方法是什么?