我做了个对话框  虽然在界面上EDIT框很小。可是能接受输入的字符太多了。我只想设置2个字节长的EDIT框 还有我设置了8个EIDT框 一起输入的从1到8 怎么设置地一个框接收输入的字符满了自动跳转到第二个框 谢谢 。EDIT框就是EDIT BOX (编辑框)

解决方案 »

  1.   

    我做了个对话框  虽然在界面上EDIT框很小。可是能接受输入的字符太多了。我只想设置2个字节长的EDIT框 还有我设置了8个EDIT框 一起输入的从第一个框到第二个框。 怎么设置地一个框接收输入的字符满了自动跳转到第二个框 谢谢 。EDIT框就是EDIT BOX (编辑框)我已经设置了LAYOUT TAB order
      

  2.   

    CEdit.LimitText,要想自动转入下一个,需要自己写
      

  3.   

    很容易的啦。首先为编辑框映射一个变量,在映射的时候就可以设置长度了。
    自动跳转可以使用EN_CHANGED事件。
      

  4.   

    SendMessage(hwndEdit,EM_LIMITTEXT,256,0L);
      

  5.   

    第二个问题:
    在你的第一个Edit(IDC_EDIT1)的EN_CHANGED消息处理函数中加入下列代码:CWnd *pWnd = GetDlgItem(IDC_EDIT1);
    char szText[3];
    pWnd->GetWindowText(szText,3);
    if(strlen(szText) == 2)
    {
    pWnd = GetNextDlgTabItem(pWnd);
    pWnd->SetFocus();
    }
      

  6.   

    上面的代码优化一下:
    CWnd *pWnd = GetDlgItem(IDC_EDIT1);
    if(pWnd->GetWindowTextLength() == 2)
    {
    pWnd = GetNextDlgTabItem(pWnd);
    pWnd->SetFocus();
    }
      

  7.   

    让它只接受N个字符,只需m_Edit.LimitText(N)
    如果需要在输入达到最大长度后自动跳转,只需响应该控件的消息“EN_MAXTEXT ”,然后在响应函数里边设置焦点(SetFocus)到下一个控件