请问c++中在textbox中,逐个清除输入的字母,如何使光标始终在最后面?

时间:2023-02-05 00:59:28
请问c++中在textbox中,逐个清除输入的字母,如何使光标始终在最后面?

5 个解决方案

#1


textbox?
是MFC中的CEdit类型的输入框吗?

#2


难道你的TEXTBOX的光标不在最后面?晕,不懂你的意思,举个例子吧

#3


textbox?
是MFC中的CEdit类型的输入框吗?

是的

void CF10000::BackSpace()
{
UpdateData(TRUE);
if(m_strTxtLoginId.GetLength() == 0){
return;
}
m_strTxtLoginId = m_strTxtLoginId.Mid(0, m_strTxtLoginId.GetLength() - 1);
UpdateData(FALSE);
}

清除的时候光标在最前面

#4


用EM_SETSEL吧,我常用的方法
举个例子吧:
比如你的TEXTBOX里面只剩下:test这个串了,那用:
SendDlgItemMessage(文本框ID,EM_SETSEL,4,4)就OK啦
比如你的TEXTBOX里面只剩下:tt这个串了,那用:
SendDlgItemMessage(文本框ID,EM_SETSEL,2,2)就OK啦

#5


多谢anglecloudy
搞定了
加分

#1


textbox?
是MFC中的CEdit类型的输入框吗?

#2


难道你的TEXTBOX的光标不在最后面?晕,不懂你的意思,举个例子吧

#3


textbox?
是MFC中的CEdit类型的输入框吗?

是的

void CF10000::BackSpace()
{
UpdateData(TRUE);
if(m_strTxtLoginId.GetLength() == 0){
return;
}
m_strTxtLoginId = m_strTxtLoginId.Mid(0, m_strTxtLoginId.GetLength() - 1);
UpdateData(FALSE);
}

清除的时候光标在最前面

#4


用EM_SETSEL吧,我常用的方法
举个例子吧:
比如你的TEXTBOX里面只剩下:test这个串了,那用:
SendDlgItemMessage(文本框ID,EM_SETSEL,4,4)就OK啦
比如你的TEXTBOX里面只剩下:tt这个串了,那用:
SendDlgItemMessage(文本框ID,EM_SETSEL,2,2)就OK啦

#5


多谢anglecloudy
搞定了
加分