我有一段代码可以擦除字符串的最后一个字符,然后将编辑控件中的文本设置为该新字符串。问题是,之后,接下来要输入的字符的位置会发生变化。例子:
编辑控制框:[12345| ](斜线是下一个输入字符的位置)
完成提到的代码后
编辑控制框:[ |12345 ](位置现在移到前面,在 1 之前)
我如何将位置再次移动到字符串的末尾?我的代码:
CString str1 = ""; //Temporary CString
eb1->GetWindowText(str1); //Store text from Edit Control to the CString
string strCheck1 = str1.GetString(); //Place the CString into a regular string
int s1 = strCheck1.length() -1; //Get index of last character and new size
bool check1 = true; //Boolean variable for the checking
//Get if character is valid
if((strCheck1[s1] <= '0' || strCheck1[s1] >='9') && strCheck1[s1] != '.') {check1 = false;}
//If is invalid I erase last character and put it back intact into the Edit Control
if(check1 == false) {strCheck1.erase(s1,1); eb1->SetWindowTextA(strCheck1.c_str());}