创建数字键盘Firemonkey Delphi和带有字体的动态创建按钮不工作
我正在做一个触摸系统(Windows),需要数字键盘来插入用户、手动输入、密码、退出系统。我更喜欢创建按钮,但属性字体不起作用 我创建了一个类:创建数字键盘Firemonkey Delphi和带有字体的动态创建按钮不工作,delphi,firemonkey,Delphi,Firemonkey,我正在做一个触摸系统(Windows),需要数字键盘来插入用户、手动输入、密码、退出系统。我更喜欢创建按钮,但属性字体不起作用 我创建了一个类: unit-uKeyboard; 接口 使用 编辑,FMX.StdCtrls,FMX.Layouts,SysUtils; 类型 TKeyboard=类(TObject) btnk:TButton的数组[0..9]; btnx:TButton; btnbs:TButton; edtk:TEdit; 程序OnClickB(发送方:ToObject); 程序O
unit-uKeyboard;
接口
使用
编辑,FMX.StdCtrls,FMX.Layouts,SysUtils;
类型
TKeyboard=类(TObject)
btnk:TButton的数组[0..9];
btnx:TButton;
btnbs:TButton;
edtk:TEdit;
程序OnClickB(发送方:ToObject);
程序OnClickX(发送方:TObject);
程序OnClickBS(发送方:TObject);
公众的
构造函数创建(var GLayout1:TGridLayout;var EdtText:TEdit);
毁灭者毁灭;推翻
结束;
实施
构造函数TKeyboard.Create(var GLayout1:TGridLayout;var EdtText:TEdit);
变量
i:整数;
开始
edtk:=EdtText;
玻璃窗1.ItemWidth:=圆形(玻璃窗1.Width/3);
玻璃窗1.ItemHeight:=圆形(玻璃窗1.Height/4);
对于i:=9到0 do
开始
btnk[i]:=TButton.Create(GLayout1);
用btnk[i]做
开始
父项:=GLayout1;
TextSettings.Font.Size:=40;
文本:=IntToStr(i);
OnClick:=OnClickB;
结束;
结束;
...
主机内部:
使用
uKeyboard。。。;
变量
键盘:T7键盘;
//点击按钮
键盘:=TKeyboard.Create(GridLayout4,EDTLease);
字体不是40:
根据文档:
更改类型对象的文本表示属性时,请记住,当您更改属性(上一示例中的TextSettings.Font.Size
属性)的值时,仅当属性不包含常量时,才会实际更改对象的视图。该表显示了哪些常量控制文本表示属性的处理
因此,为了设置TButton.TextSettings.Font.Size
的值,您需要从TButton.StyledSettings
属性中删除TStyledSetting.Size
标志,例如:
btnk[i]:=TButton.Create(GLayout1);
用btnk[i]做
开始
父项:=GLayout1;
StyledSettings:=StyledSettings-[TStyledSetting.Size];//确保按钮的样式设置不包括大小。发布的代码不足,无法复制-请尝试创建MCVE。