我编写了一个 TEdit OnKeyDown 处理程序来进行自定义Ctrl+BkSp处理。在我的示例中,我删除了最后 2 个字符。看到不良行为:在我的代码“方形”字符附加到文本之后。如何不“添加”这样的正方形?
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_back) and (shift=[ssCtrl]) then
begin
with edit1 do
begin
if text<>'' then
text:= Copy(text, 1, length(text)-2);
selstart:= length(text);
end;
key:= 0;
Exit
end;
end;