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:怎么实现我上面想要的情况
展开
 我来答
dwjchdu
2011-11-07 · TA获得超过5914个赞
知道大有可为答主
回答量:4576
采纳率:60%
帮助的人:1116万
展开全部
1、这是MessageBox的显示方式所决定的,他是“模式”窗口,显示后如果不对他进行处理,程序就不能继续后面的工作!
2、解决的方法是可以自己重新写一个MessageBox,替换原来的!
追问
但是我毕竟是做了按键操作,系统应该记录这一消息,并且发送到应用程序的消息队列啊 我本意是想在弹出messagebox之后 按几次键 关闭掉之后的messagebox之后 会接练弹出新的messagebox 因为应用程序在处理完先前的消息之后 会继续将我那几个按键消息依次由操作系统转发到我的处理程序中
追答
呃,这个不行的,MessageBox弹出之后,你所有的按键操作都被MessageBox窗口接收并处理了,没办法再发给你原来的主程序了!
枚欣祎0fla7c
2011-11-08
知道答主
回答量:14
采纳率:0%
帮助的人:15.3万
展开全部
在messagebox弹出之后,你的按键已经无法接触到messagebox所覆盖的地方了,他们不是一个层面上得东西,关了messagebox才能回到原来那个层面,
如果你想每次按键都弹出mb,不管之前的关没关的话,那就自己写一个box .
或者,我只是一个想法,没试过,你在OK也好,什么也好,按钮都是有个事件,你能捕获到的,利用那个捕获写点东西进去,判断后,决定是继续弹出,还是关闭此messagebox的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式