- 现在资源视图里面,把对话框上所有需要切换焦点的窗口或者按钮的tabstop属性设置为TRUE。
- 为窗口映射PreTranslateMessage消息处理函数
- 添加以下代码:
if((pMsg->message == WM_KEYDOWN) && (VK_RETURN == (int) pMsg->wParam))
{
if(GetFocus()->GetDlgCtrlID() != IDCANCEL)
{//如果切换的时候,有按钮是需要被执行的操作,放在这里判断,并且执行
if (GetFocus()->GetDlgCtrlID() == IDC_BUTTON_XXXXX)
{
OnBnClickedButtonXXXX();
}
if(类似还需要处理的)
{
………………………
}
pMsg->wParam = VK_TAB;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
同时,最好把回车按钮的属性里面 Default Button这一项设置为 True
现在就可以完全用 回车键来代替了,一切都是单手键盘操作,输入,回车,输入,回车
有关PreTranslateMessage,
请参考http://blog.csdn.net/ziyue007/article/details/7979337
本文介绍如何通过设置窗口的TabStop属性及利用PreTranslateMessage处理函数来优化界面导航,使得用户能够通过键盘上的回车键进行界面元素间的切换与触发特定按钮的功能。
2776

被折叠的 条评论
为什么被折叠?



