有一个简单的cxMaskEdit,有标准的掩码:'## ### ###; 1; ”。 此外,AutoSelect为False。
一切都很好,但是当我使用cxMaskEdit.SetFocus返回cxMaskEdit时,它会更改cxMaskEdit中的最后一个字符。
例如: 12 141 141在cxMaskEdit输入时变为12 141 140(通过鼠标。通过setFocus)。
对此行为有何帮助? l.e:此行为由
给出procedure TForm1.cxMaskEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (cxMaskEdit1.CursorPos = 10) then
if ((Key > 48) and (Key < 58)) or ((Key > 95) and (Key < 106)) then
begin
cxMaskEdit2.SetFocus;
// cxMaskEdit2.SelStart := 0;
end;
end;
答案 0 :(得分:0)
使用选择开始和长度解决。
if ((MaskEdit1.SelStart = 9) and (((47 < Key) and (Key < 58)) or (95 < Key)
and (Key < 106))) then
begin
MaskEdit2.SetFocus;
MaskEdit2.SelStart := 0;
MaskEdit2.SelLength := 1;
end;