delphi - 如何避免 tmaskedit 中的空格?
问题描述
我有一个编辑框的问题。我需要能够写正数和负数(包括 0.22)
我尝试了 tedit numbers only 功能,但显然我不能写负号。然后我发现 tmaskedit 可以让我写正数和负数,但有空格,而不是例如 123,我可以写 12 3 并得到错误。
有没有什么快速的方法可以用 tmaskedit 中的空格来解决这个问题,还是我应该尝试用 ifs 和按键来写一些东西?
解决方案
对我有用的是这里的这个功能。我回到了 tedit 框,因为我无法真正摆脱 tmaskedit 中的空格
procedure KeyPressWithDouble(Sender: TObject; var Key: Char);
begin
if not(Key in [#8, '0' .. '9', '-', FormatSettings.DecimalSeparator]) and
not(ord(Key) = VK_RETURN) then
begin
showmessage('Invalid key');
// Discard the key
Key := #0;
end;
end;