下午好,我在 Delphi 中做一个使用editmask的项目,我使用的是电话掩码,当点击edit来写电话号码时,它会转到右边的最后一个字段,所以有必要用backspace回到左边编辑的开始。我想找到一种方法,当用户在右边的最后一个字段中键入数字时,它会被传递到左边。如此下去,直到你完成电话字段。这可能吗?下面举例说明它的外观:
我想不出办法
kknvjkwl1#
该组件称为TMaskEdit。就像任何基于TEdit的操作一样,将焦点放在控件上会默认地将文本光标放在其内容的末尾
TMaskEdit
TEdit
.AutoSelect
FALSE
您应该已经在使用其他组件时体验过这种情况。如果您希望在聚焦控件时文本光标始终位于某个位置,请在这样的事件处理程序中执行此操作:
OnEnter
procedure TForm1.MaskEdit1Enter(Sender: TObject); begin (Sender as TMaskEdit).SelStart:= 1; // Second position end;
OnClick
它甚至不受.AutoSelect属性设置的限制。使用退格键是最糟糕的输入方式,因为它总是删除潜在的内容,并且需要按几次才能回到第一个位置。为什么不使用Home键呢?
1条答案
按热度按时间kknvjkwl1#
该组件称为
TMaskEdit
。就像任何基于
TEdit
的操作一样,将焦点放在控件上会默认地将文本光标放在其内容的末尾.AutoSelect
是否应为FALSE
且您应该已经在使用其他组件时体验过这种情况。如果您希望在聚焦控件时文本光标始终位于某个位置,请在这样的事件处理程序中执行此操作:
OnEnter
:OnClick
。它甚至不受
.AutoSelect
属性设置的限制。使用退格键是最糟糕的输入方式,因为它总是删除潜在的内容,并且需要按几次才能回到第一个位置。为什么不使用Home键呢?