我有一段代碼會擦除字符串的最後一個字符,然後將編輯控件中的文本設置爲該新字符串。問題在於,之後,將要輸入的字符的位置會改變。 示例:如何更改下一個字符將放置在MFC的編輯控件中的位置?
編輯控制框:[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());}
出於某種原因,瀏覽功能時,我認爲CEdit :: SetSel是選擇像突出顯示它的字符,而不是這個;我想我應該嘗試。謝謝。 – Artie