vc如何实现按下回车后编辑框输入焦点传递到下一编辑框?控件如何绑定类

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控件之间切换。