gpt4 book ai didi

Delphi 二进制数掩码

转载 作者:行者123 更新时间:2023-12-01 19:22:22 27 4
gpt4 key购买 nike

我有 StringGrid,并且希望其中只有 10 单元格。我尝试使用 StringGridGetEditMask

procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
Value := '0';
if not (strToInt(Value) in [0,1]) then value := #0;
end;

但是我可以输入从 0 到 9 的所有数字。如何过滤除 0 和 1 之外的所有数字?

最佳答案

根据您的意图,您需要对 TStringGrid 进行子类化类并在此类子类中分配给就地编辑器,例如OnKeyPress事件如该插入器类中所示:

type
TStringGrid = class(Grids.TStringGrid)
private
procedure InplaceEditKeyPress(Sender: TObject; var Key: Char);
protected
function CreateEditor: TInplaceEdit; override;
end;

implementation

{ TStringGrid }

function TStringGrid.CreateEditor: TInplaceEdit;
begin
Result := inherited CreateEditor;
TMaskEdit(Result).OnKeyPress := InplaceEditKeyPress;
end;

procedure TStringGrid.InplaceEditKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8, '0', '1']) then
Key := #0;
end;

关于Delphi 二进制数掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15645792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com