有8个EDITTEXT每个4个数字,希望用户打了32个数字后可将所有EDITTEXT填满,最简单直接的办法怎么做?如果用ON_EN_MAXTEXT似乎要将触发的输入在post一次?
谢了。

解决方案 »

  1.   

    用EN_CHANGE吧,判断个数,然后focus下一个
      

  2.   

    if (edit1.LineLength()=4)
    edit12.SetFocus();
      

  3.   

    这样可以啊。没输入一个字符就检查一下,如果该文本框长度为4,则将FOCUS设到下一个文本框
      

  4.   

    en_change响应,里面计数,多了之后发送一个键盘TAB的消息给父窗口,则自动跳转了。CString str;
    GetDlgItemText(IDC_EDIT1, str);
    if (str.GetLength>=4) {
       CEdit * pWnd = (CEdit*) GetNextDlgTabItem(GetDlgItem(IDC_EDIT1));
       pWnd->SetFocus();
    };可以考虑按照类似的办法,写一个公共的CMyEdit函数,统一处理
      

  5.   

    if (edit1.LineLength()=4)
    edit2.SetFocus();嘿嘿,楼主在写序列号的输入框啊?