1

我在 RealBasic 中创建了一个虚拟键盘。当我按下字母时,我将数字附加到文本字段中,一切正常,但是,当我从虚拟键盘按下“删除”按钮时,如何从当前光标位置删除该文本字段中的字符?

要将字母或数字附加到我使用的文本字段:

TextField1.Text = TextField1.text + me.Caption //to append caption
TextField1.SelStart = Len(TextField1.text)  // to move cursor at the end of string
4

3 回答 3

2

如果您只打算删除最后输入的字符,Paul 的解决方案就有效。

但要注意:如果让用户也左右移动光标,当然要删除光标所在位置的文字。如果你还允许用户选择文本,那就更复杂了。

我建议您的虚拟键盘只需将键入的键发送到系统,就好像用户按下了键一样。这样,TextEdit 字段将为您完成所有工作。

但是,要使这项工作发挥作用,您需要为要支持的每个操作系统平台定制解决方案。

让我知道您计划支持哪些平台,我会看看我能找到什么。我有一些适用于 OSX 的代码,但还没有适用于 Windows 的代码。

于 2013-08-22T08:31:02.817 回答
2

做托马斯所说的意味着:

dim n as String = TextField1.Text
n = newText.left(TextField1.selStart) + n.right(n.len - textField1.selStart - 1)
textField1.text = n
于 2014-03-08T22:56:23.413 回答
0

只需去掉最后一个字符:

TextField1.Text = TextField1.Text.Left(TextField1.Len-1)
于 2013-08-21T23:37:17.947 回答