我在RealBasic中创建了一个虚拟键盘。 当我按字母,数字时,我将它附加到文本字段,但是,当我从虚拟键盘按“删除”按钮时,如何从当前光标位置删除该文本字段中的字符?
要在我使用的文本字段中附加字母或数字:
TextField1.Text = TextField1.text + me.Caption //to append caption
TextField1.SelStart = Len(TextField1.text) // to move cursor at the end of string
答案 0 :(得分:2)
如果您只打算删除最后输入的字符,那么Paul的解决方案就有效。
但要注意:如果你让用户也左右移动光标,你必须删除光标位置的文本。如果您还允许用户选择文本,那么它就更复杂了。
我建议您的虚拟键盘只需将键入的键发送到系统,就像用户按下键一样。这样,TextEdit字段将为您完成所有事情。
但是,要使其工作,您需要为要支持的每个OS平台提供自定义解决方案。
让我知道您打算支持哪些平台,我会看到我能找到的内容。我有一些OSX代码但不适用于Windows。
答案 1 :(得分:2)
做托马斯所说的意思:
dim n as String = TextField1.Text
n = newText.left(TextField1.selStart) + n.right(n.len - textField1.selStart - 1)
textField1.text = n
答案 2 :(得分:0)
抓住最后一个角色:
TextField1.Text = TextField1.Text.Left(TextField1.Len-1)