如何在编辑框中显示标签,但在获得焦点时切换到密码输入模式?

How do I display a label in an edit box, but switch to password-entry mode when it receives focus?

我使用 Delphi 10 和 Windows 10。

以下代码使插入符号和选择在 Edit1 中消失。

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  Edit1.PasswordChar := '*';
end;

焦点移动到另一个控件后,在 onClick 中效果很好。

我不能使用 onClick,因为焦点通过 Tab 键移动,Edit1 应该以默认的 #0 开始,因为它包含焦点进入前 'password' 的文本。

我该如何解决这个问题?

编辑控件按设计和预期工作。

  • 如果您希望控件隐藏密码,则在 OI 或创建时设置 TEdit.PasswordChar 或...但不是每次输入控件时都设置
  • 如果你想有一个提示然后设置TEdit.TextHint 属性如果TEdit.Text为空并且控件将显示不专注