MFC对话框之键盘响应
2014-05-13 16:54
295 查看
在MFC对话框上添加键盘响应,在对话框属性 消息 WM_KEYDOWN添加消息函数添加代码,程序根本就执行不到键盘响应函数中去,重新编写。
1. dlg .h文件中声明函数virtual BOOL PreTranslateMessage(MSG* pMSG);
2.添加实现函数
BOOL PreTranslateMessage(MSG* pMSG)
{
// TODO: Add your message handler code here and/or caloll default
if (pMSG->message == WM_KEYDOWN)
{
if (pMSG->wParam == 'L')
update_dpControlPoints(X, 3);
else if (pMSG->wParam=='J')
update_dpControlPoints(X, -3);
else if (pMSG->wParam=='I')
update_dpControlPoints(Y, -3);
else if (pMSG->wParam=='K')
update_dpControlPoints(Y, 3);
else if (pMSG->wParam == 'F')
{
SelectControlPoint(X,1);
}
else if (pMSG->wParam == 'S')
{
SelectControlPoint(X,-1);
}
else if (pMSG->wParam == 'E')
{
SelectControlPoint(Y,1);
}
else if (pMSG->wParam == 'D')
{
SelectControlPoint(Y,-1);
}
}
return CDialog::PreTranslateMessage(pMSG);
}
1. dlg .h文件中声明函数virtual BOOL PreTranslateMessage(MSG* pMSG);
2.添加实现函数
BOOL PreTranslateMessage(MSG* pMSG)
{
// TODO: Add your message handler code here and/or caloll default
if (pMSG->message == WM_KEYDOWN)
{
if (pMSG->wParam == 'L')
update_dpControlPoints(X, 3);
else if (pMSG->wParam=='J')
update_dpControlPoints(X, -3);
else if (pMSG->wParam=='I')
update_dpControlPoints(Y, -3);
else if (pMSG->wParam=='K')
update_dpControlPoints(Y, 3);
else if (pMSG->wParam == 'F')
{
SelectControlPoint(X,1);
}
else if (pMSG->wParam == 'S')
{
SelectControlPoint(X,-1);
}
else if (pMSG->wParam == 'E')
{
SelectControlPoint(Y,1);
}
else if (pMSG->wParam == 'D')
{
SelectControlPoint(Y,-1);
}
}
return CDialog::PreTranslateMessage(pMSG);
}
相关文章推荐
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- MFC中在对话框中实现键盘快捷键响应方法
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- MFC 对话框程序的键盘事件响应方法及与按钮事件的整合
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- mfc对话框不能响应键盘消息
- 【MFC】基于对话框的键盘响应
- 基于MFC对话框的键盘消息响应
- 【MFC】基于对话框的键盘响应
- MFC 对话框Dialog响应键盘事件
- 【MFC】基于对话框的键盘响应
- MFC 对话框Dialog响应键盘事件
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- 【MFC】基于对话框的键盘响应
- MFC 对话框Dialog响应键盘事件(组合键Ctrl+A)