MFC 如何判断用户键盘按的哪个键???
BOOLCtabTongBu::PreTranslateMessage(MSG*pMsg){//TODO:Addyourspecializedcodehereand/or...
BOOL CtabTongBu::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message==WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_DELETE:
MessageBox("您按下了DELETE");
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
这是我按照网上写的,判断用户按DELETE跳出对话框 ,但是我运行程序按DELETE没反应啊 ?还需要在哪里添加怎样的代码?或者我哪里错了,其实我不太理解这个函数,比如我在对话框中点击一个按钮以后,等待用户按键,用户按完,判断用户按的什么键,应该怎么实现 ,求各位帮忙啊 !我就这么多分了! 展开
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message==WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_DELETE:
MessageBox("您按下了DELETE");
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
这是我按照网上写的,判断用户按DELETE跳出对话框 ,但是我运行程序按DELETE没反应啊 ?还需要在哪里添加怎样的代码?或者我哪里错了,其实我不太理解这个函数,比如我在对话框中点击一个按钮以后,等待用户按键,用户按完,判断用户按的什么键,应该怎么实现 ,求各位帮忙啊 !我就这么多分了! 展开
2012-11-16
展开全部
BOOL CDeleteBox::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_DELETE)
MessageBox("按下了delete键")
}
return CDialogEx::PreTranslateMessage(pMsg);
}
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_DELETE)
MessageBox("按下了delete键")
}
return CDialogEx::PreTranslateMessage(pMsg);
}
追问
你把switch 换成IF判断有什么意义?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按键时你的输入焦点是否在这个类对应的窗口上?如果在Edit控件上是收不到的
追问
我是想实现运行程序,无论焦点在哪里 在任何窗口 ,我的程序都处于等待用户按键的状态 ,一旦用户按键,则做出响应 例如弹出此按键的提示对话框.....
追答
任何窗口包括不是本程序的窗口?这样的话用消息机制是做不到的。
如果只限本程序的窗口,在CWinApp::PreTranslateMessage拦截这个消息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码应该是没什么问题,你下个断点跟踪看看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询