C++ 键盘事件问题

(注:我用的VS2008,熟悉的朋友请回答,谢谢了)我在C++中建立了应用类型为对话框的程序,想加入onkeydown事件,可是代码可是程序不响应我的键盘事件,听说可以用... (注:我用的VS2008,熟悉的朋友请回答,谢谢了)
我在C++中建立了应用类型为对话框的程序,想加入onkeydown事件,可是代码
可是程序不响应我的键盘事件,听说可以用PreTranslateMessage来响应键盘,我添加了PreTranslateMessage函数以后提示错误代码如下
BOOL CabcApp::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam=='A')
{
MessageBox("MFC","MFC");
}
}
return CWinApp::PreTranslateMessage(pMsg);
}

错误:“MessageBoxA”: 函数不接受 1 个参数

我想问下有没有别的办法在对话框中响应键盘事件,如何去响应,望高手解答,谢谢了……还有我想问下,我建立可单文本的程序,如何在菜单中添加的选项里面点一下就显示我新建的窗体
展开
 我来答
百度网友12ef2a95a
2010-03-14 · 超过19用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:59.9万
展开全部
PreTranslateMessage这个函数可以的,你加错地方了,不然MessageBoxA不会报错,不是加在CabcApp类中,而是加在CabcDlg(对话框)类中。

单文档程序:首相映射菜单中按键的消息响应函数,然后在这个函数中用你要建的窗体的类建一个对象就可以了。
anjiao_1989
2010-03-14 · 超过14用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:30.8万
展开全部
你应该吧MessageBox("MFC","MFC")改为MessageBox(this,"MFC","MFC")或者AfxMessageBox("MFC")。如果你有MSDN的话,一查就行了,如果没有,建议 你一定要下载一个,学习windows编程,没有这个是不行的。再说接收键盘事件,你在查看->建立类向导->Messsage Maps->Messages:有一个WM_KEYDOWN用它就可以加入键盘事件了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wind_wound
2010-03-14 · 超过11用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:32.6万
展开全部
顶楼上。。不是CWinApp::,重写CxxDlg的PreTranslateMessage。。。。
至于单文档,最简单的就是添加一个对话框资源,再关联一个类,实例化一个对象xx,响应时,xx.DoModal() 就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式