MessageBox弹出,如果不按下OK键
这段代码switch(uMsg){caseWM_CHAR:charszChar[20];sprintf(szChar,"charis%c",wParam);Message...
这段代码 switch(uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"char is %c",wParam);
MessageBox(hwnd,szChar,"weixin",0);
break;
对键盘事件响应一个MessageBox,问题是如果不按下OK键,继续按键盘的话,再按下OK键后,没有新的MessageBox弹出,说明之前的按键信息没有传送到应用程序的消息队列。问题1:为什么会这样 问题2:怎么实现我上面想要的情况 展开
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"char is %c",wParam);
MessageBox(hwnd,szChar,"weixin",0);
break;
对键盘事件响应一个MessageBox,问题是如果不按下OK键,继续按键盘的话,再按下OK键后,没有新的MessageBox弹出,说明之前的按键信息没有传送到应用程序的消息队列。问题1:为什么会这样 问题2:怎么实现我上面想要的情况 展开
2个回答
展开全部
1、这是MessageBox的显示方式所决定的,他是“模式”窗口,显示后如果不对他进行处理,程序就不能继续后面的工作!
2、解决的方法是可以自己重新写一个MessageBox,替换原来的!
2、解决的方法是可以自己重新写一个MessageBox,替换原来的!
追问
但是我毕竟是做了按键操作,系统应该记录这一消息,并且发送到应用程序的消息队列啊 我本意是想在弹出messagebox之后 按几次键 关闭掉之后的messagebox之后 会接练弹出新的messagebox 因为应用程序在处理完先前的消息之后 会继续将我那几个按键消息依次由操作系统转发到我的处理程序中
追答
呃,这个不行的,MessageBox弹出之后,你所有的按键操作都被MessageBox窗口接收并处理了,没办法再发给你原来的主程序了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询