当一个edit box得到焦点时,我判断其是否已有内容存在。为了编辑方便,如果有文字存在的话,自动将其全部反转选择,即文字列全部选择。请问这个edit box得到焦点时应该用什么函数处理?

解决方案 »

  1.   

    全部反转选择什么意思?
    你说的是要全部选上么?
    还是什么?
    m_edit.SetSel(m_stredit.GetLength(), m_stredit.GetLength());
      

  2.   

    可是EN_SETFOCUS是得到焦点时的函数,我想在得到焦点时将控件内容全部选定,请问需要怎样做?
    void CDialog3::OnChangeEdit1() 
    {
    m_edit_ping1.SetLimitText(3);
    int num1 = m_edit_ping1.GetWindowTextLength();
    CString x;
    int num;
    switch (num1){
    case  1 : 
    m_edit_ping1.GetWindowText(x);
    num = _ttoi(x);
    if (num == 0){
    m_edit_ping2.SetFocus();
    }
    break;
    case  2 : 
    m_edit_ping1.GetWindowText(x);
    num = _ttoi(x);
    if (num > 25){
    m_edit_ping2.SetFocus();
    }
    break;
    case  3 : 
    m_edit_ping2.SetFocus();
    }
    }
    之后用EN_SETFOCUS函数
    {
    判断:“当 m_edit_ping2内已有文字列时将其全部选定。”
    }我是新手不太懂,请再帮忙看看。
      

  3.   

    用setsel解决了问题,非常感谢。