VC6:
在窗体上点击右键,“ClassWizard”然后在“MESSAGES”中选择“PreTranslateMessage”,添加函数即可。
VC.NET:
将窗口切换到窗体(.cpp)代码编辑状态,在属性中选择重载列表,然后选择“PreTranslateMessage”即可。
BOOL CDailyNotesDlg::PreTranslateMessage(MSG* pMsg)
{
//截获KEYDOWN事件和按下了回车键
if (pMsg->message==WM_KEYDOWN && pMsg->wParam == VK_RETURN)
{
CWnd *pWnd = GetFocus(); //获得当前光标所在控件
if (pWnd != NULL)
{
if (pWnd == GetDlgItem(IDC_EDT_USERNAME)) //当光标在用户名输入框时
{
m_cEdtPwd.SetFocus();
return 0;
}else{
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
博客介绍了在VC6和VC.NET中添加PreTranslateMessage函数的方法。VC6需在窗体右键选“ClassWizard”,在“MESSAGES”中添加;VC.NET则在窗体代码编辑状态属性重载列表中选择。还给出了截获回车键事件的代码示例。
504

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



