keydown的问题

xiaohu9711 2004-07-06 12:33:12
怎样按下“回车”键后相应消息?
比如:
OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(回车键)

函数响应;


CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
...全文
75 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohu9711 2004-07-06
  • 打赏
  • 举报
回复
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg -> wParam == VK_ESCAPE)
{
。。。
}
}
xiaohu9711 2004-07-06
  • 打赏
  • 举报
回复
'VK_ENTER'可以放在case中吗?怎么好想不行啊
Kudeet 2004-07-06
  • 打赏
  • 举报
回复
呵呵,搞错了点,应该是
WM_KEYDOWN
xiaohu9711 2004-07-06
  • 打赏
  • 举报
回复
VK_KEYDOWN怎么会没有定义?
快乐鹦鹉 2004-07-06
  • 打赏
  • 举报
回复
同意。
不知道派生对话框子类的话,能不能响应OnKeyDown。应该也行。
Kudeet 2004-07-06
  • 打赏
  • 举报
回复
呵呵!基于对话框的程序不能直接用OnKeyDown的,要在PreTranslateMessage自己处理,
你要判断回车键,在case语句加上
case: 'VK_RETURN'
MessageBox("你按了回车键");
...//你的处理代码
Kudeet 2004-07-06
  • 打赏
  • 举报
回复
你的程序是基于什么类型的,如果是对话框的就应该是:
CDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==VK_KEYDOWN)
{
switch(pMsg->wParam)
{
case 'VK_LEFT'
MessageBox("你按了左方向键");
.....
}
}
.....
return CDialog::PreTranslateMessage(pMsg);
}
xiaohu9711 2004-07-06
  • 打赏
  • 举报
回复
多谢!
Kudeet 2004-07-06
  • 打赏
  • 举报
回复
'VK_ENTER'是错的,应该是VK_RETURN

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧