我想用固定的StringGrid创建一个iOS应用。这个东西的每个单元格都只能接受数字值。为此,我想将KeyboardType设置为vktNumberPad ...,但到目前为止尚未找到入口点。这里有人知道如何执行此操作吗?

好的,因此按照Mikes的提示,我开始使用自己的列类。

TNumEditCell = class(TEdit)
end;
TNumberColum = class(TStringcolumn)
private
  function CreateCellControl: TStyledControl; override;
end;

这是令人困惑的部分:
function TNumberColum.CreateCellControl: TStyledControl;
begin
  result := TNumEditCell.Create(Self);
  TNumEditCell(result).KeyboardType := vktNumberPad; // <- is undeclared!! What?!
  TNumEditCell(result).OnChange := DoTextChanged;
end;

我们的好 friend 编译器不知道vktNumberPad是什么。即使我用电话杆FMX.Types.TVirtualKeyboardType(vktNumberPad)指向他也没有。我想我做错了:(

最终编辑:的确,正如彼得指出的,我做错了什么。因此,使用上面的代码和Peters暗示一切正常。嗯...我该如何解决这个问题?

最佳答案

编译器不知道vktNumberPad,因为您没有正确解决它。使用:TNumEditCell(result).KeyboardType := TVirtualKeyboardType.vktNumberPad

09-25 22:05