WM_CHAR消息的问题

我想用消息框输出一个键的ASC码,为什么我运行后不会弹出消息框呢?而断点逐步运行的时候,运行到了MessageBox后又会弹出消息框呢?代码入下:caseWM_CHAR:... 我想用消息框输出一个键的ASC码,为什么我运行后不会弹出消息框呢?而断点逐步运行的时候,运行到了MessageBox后又会弹出消息框呢?
代码入下:
case WM_CHAR:
TCHAR b[30];
buf[0]=(int)wParam;
buf[1]=(int)lParam;
wsprintf(b,TEXT(" buf[0]=%d,buf[1]=%d "),buf[0],buf[1]);
::MessageBox(hwnd,b,TEXT("zq"), MB_OK);
break;
展开
 我来答
xiana14
2011-02-21 · TA获得超过112个赞
知道答主
回答量:163
采纳率:0%
帮助的人:0
展开全部
//与WM_KEYDOWN消息不同的是,WM_CHAR消息是俘获某一个字符的消息,WM_KEYDOWN消息是俘获某一个键按下的消息
//假如分别按下“q”和“shift+q”,发出的WM_KEYDOWN消息都是代表q键,而发出的WM_CHAR消息分别是“q”和“Q”
//mfc程序,在view类里添加WM_CHAR消息的响应函数OnChar()
//nChar代表某个字符,用'*'来表示
//程序运行后按下shift+1则弹出对话框
void CTestView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar=='!')
MessageBox("!!!");
CView::OnChar(nChar, nRepCnt, nFlags);
}
//WM_KEYDOWN消息可以处理键盘上的所有键,但不能区分1和!的不同,WM_CHAR消息只能处理某个字符,将1和!作为两个不同的字符来处理
全测科技
2024-12-19 广告
N5173B信号源是深圳市全测科技有限公司引进的一款高性能微波模拟信号发生器。它覆盖了9kHz至40GHz的宽广频率范围,为宽带滤波器、放大器、接收机等器件的参数测试提供了必要的信号。该信号源凭借低成本、600s的快速频率切换速度以及大输出... 点击进入详情页
本回答由全测科技提供
百度网友38c8e98
2011-02-19 · TA获得超过2658个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:587万
展开全部
你用什么编译器,VC++6.0测试,非调试状态可以运行。
追问
对不起,我想要问的不是这样,可能我表达没有表达好,我是写的一个窗口程序,因为不想去看MSDN就在它的消息响应里写了个CHAR的消息,想看一下他们的2个附参数的值,可偶然发现了这个问题就是拿出来问一下看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式