vc如何实现按下回车后编辑框输入焦点传递到下一编辑框?控件如何绑定类
问题描述:
vc如何实现按下回车后编辑框输入焦点传递到下一编辑框?控件如何绑定类?
答
在对话框界面按下Ctrl+D组合键,将各个控件的Order进行排序,设置你想要的次序,设置好后,添加PreTranslateMessage函数并加入如下代码···
试试吧
BOOL CCodeMess::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_KEYDOWN==pMsg->message&&VK_RETURN==pMsg->wParam)
{
TCHAR szClass[MAX_PATH]={0};
::GetClassName(pMsg->hwnd,szClass,MAX_PATH-1);
if(0==_tcscmp(szClass,_T("Edit")))
{
HWND hWnd=pMsg->hwnd;
while(NULL!=(hWnd=::GetWindow(hWnd,GW_HWNDNEXT)))
{
::GetClassName(hWnd,szClass,MAX_PATH-1);
if(0==_tcscmp(szClass,_T("Edit")))
{
::SetFocus(hWnd);
return TRUE;
}
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
答
在对话框界面按下Ctrl+D组合键,将EDIT控件进行排序,其他控件的属性Tabstop设置为false. 这样按TAB键就只在EDIT控件之间切换。