//该段代码是处理按键时,移动到下一编辑框代码,注意保证一点,就是你编辑框的ID为连续ID值;
CString sButtonText;
CWnd *pWnd;
pWnd = GetNextDlgTabItem(GetFocus());
int ret = pWnd->GetDlgCtrlID();
SendDlgItemMessage(ret,EM_SETSEL,0,-1);
pWnd->SetFocus();
pWnd->GetWindowText(sButtonText);
至于按键消息的处理(即按哪个键来控制移动):
可在该稍息不完成:
if(pMsg->message == WM_KEYDOWN)
{
if( pMsg->wParam == VK_F2)//我这里是以“F2”为例,至于你要用什么键来控制,查找到相应的键值填在这里即可。
{
//这里是消息响应部分,即可填为上面的代码
}
}
完整代码为:
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
if( pMsg->wParam == VK_F2)
{
// TODO: Add extra validation here
CString sButtonText;
CWnd *pWnd;
pWnd = GetNextDlgTabItem(GetFocus());
int ret = pWnd->GetDlgCtrlID();
SendDlgItemMessage(ret,EM_SETSEL,0,-1);
pWnd->SetFocus();
pWnd->GetWindowText(sButtonText);
}
}
return CDialog::PreTranslateMessage(pMsg);
}
添加消息如下图: