我的客户要求我做一个“效果”,每次释放键盘上的任何键时,都要在字段上将此字符更改为星号。
在Delphi中如何做到?
我在HTML + Javascript中使用this。可以在here中找到.js代码。
最佳答案
下面模拟了js代码的行为,同时还处理了退格键。
type
TForm2 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
FEditText: string;
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = ^H then
SetLength(FEditText, Length(FEditText) - 1)
else
FEditText := FEditText + Key;
end;
procedure TForm2.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
Edit1.Text := StringOfChar('*', Length(Edit1.Text));
Edit1.SelStart := Length(Edit1.Text);
end;
FEditText
等效于js代码中的df[0].Value
,是键入的实际值。请注意,由于js代码中没有任何选项,因此无法重置文本。
关于delphi - 如何在TEdit onkeyup事件上将字符更改为星号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40963083/