首页 > 解决方案 > 如何避免 tmaskedit 中的空格?

问题描述

我有一个编辑框的问题。我需要能够写正数和负数(包括 0.22)

我尝试了 tedit numbers only 功能,但显然我不能写负号。然后我发现 tmaskedit 可以让我写正数和负数,但有空格,而不是例如 123,我可以写 12 3 并得到错误。

有没有什么快速的方法可以用 tmaskedit 中的空格来解决这个问题,还是我应该尝试用 ifs 和按键来写一些东西?

在此处输入图像描述

标签: delphi

解决方案


对我有用的是这里的这个功能。我回到了 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;

推荐阅读