请问如何让DIALOG响应键盘事件

Hello-hongshan 2003-10-18 08:33:20
请问如何让DIALOG响应键盘事件
...全文
247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nalo 2004-03-11
  • 打赏
  • 举报
回复
重载PreTranslateMessage()的方法可行;
直接响应WM_KEYDOWN和WM_KEYUP的方法由于对话框中控件的原因没有响应
sorcerercwy 2003-10-18
  • 打赏
  • 举报
回复
请教ZRQ827(Quan) :
希望WM_KEYDOWN的函数响应VK_DOWN,
我添加了如下代码,但是我按下向下的方向键时,没有反应,需要再什么工作呀
void CFFFFFFDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch(nChar)
{
case VK_DOWN:
MessageBox("dfjaklfj");
break;
default:
break;
}

CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
sorcerercwy 2003-10-18
  • 打赏
  • 举报
回复
我曾经做过,让DIALOG响应四个方向键,下面是让它响应向下按钮的
1.用类向导,在dialog类中添加响应消息PreTranslateMessage
的函数并加入代码:
if(pMsg->message==WM_KEYDOWN&&DoKeyDown((UINT)pMsg->wParam))
return TRUE;

2.在dialog类中手动添加函数
BOOL CMyBrickDlg::DoKeyDown(UINT nChar)
{
switch(nChar)
{
case VK_DOWN:
MessageBox("key down");
return TRUE;
break;
default:
return FALSE;
break;
}


}
zrq827 2003-10-18
  • 打赏
  • 举报
回复
WM_KEYDOWN
WM_KEYUP

15,980

社区成员

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

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