我有个安全问题。
在 Delphi 中,我使用的是Vcl.Touch.Keyboard.TTouchKeyboard
,因为机器上没有真实的键盘。这台机器周围有4台显示器,它们都显示同一个屏幕。
在输入普通文本时没有问题,但是一旦用户必须在其中一个屏幕上输入密码,其他人就可以很容易地看到他正在输入的内容并检索密码!
Delphi 控件TTouchKeyboard
显然没有提供任何隐藏鼠标光标以及不显示当前单击按钮的可能性。
如何禁用TTouchKeyboard的OnMouseDown事件而不更改此控件的源?还是有更好的解决办法?
另一种可能性是每次点击光学激活一个以上的字母以混淆“密码监视器”。但如何才能做到这一点呢?
1条答案
按热度按时间eaf3rand1#
TTouchKeyboard
允许覆盖用于按钮的类。您可以从TKeyboardButton
派生,覆盖Paint
方法,当按钮State
是dsPressed
时跳过inherited
调用。要使用该类,请将其分配给keyboards
DefaultButtonClass
属性。您可能需要切换其
Layout
属性来触发按钮的重新构建。