CEdit 各项设置完毕,预先已有多行文本,例如
life =
money =
现在在其中进行编辑,如
life =boring
这时回车,系统将自动换行,变成
life =boringmoney=
如何设置才能让光标停在money=的=后面上

解决方案 »

  1.   

    这个?有难度。
    首先,你的EDIT的内容肯定是
    LIFE = 
    MONEY =
    这种格式么?我的建议是,ONCHAR()函数里面做文章。
      

  2.   

    1.获取money行的长度!
    2。定位同意楼上!
      

  3.   

    在CEdit::PreTranslateMessage里面
    if(pMsg->Message == WM_KEYDOWN && pMsg->wParam == VK_ENTER)
    {   //定位光标到下一行的最后
       .....................}
      

  4.   

    everandforever,siphonelee的方法没错。重载OnChar(),在收到Enter消息后定位光标的位置,是它刚好在MONEY =的等号后面。
      

  5.   

    例:
    CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);
    pEdit->SetWindowText(_T("This is only a test! \r\n For Locate for position!"));
    pEdit->SetFocus();
    pEdit->SetSel(10,10); 这样鼠标将会停留在'n'后,你可以进行相应的改动
       
      

  6.   

    char     re[3] = {VK_RETURN, 0x0a};
    CString  str;str += re;  // new line.