德尔福 – Firemonkey TEdit高度

我正在使用Delphi Seattle,我的应用程序是用于 Windows桌面的.

我正在尝试更改TEdit的字体大小.因此,高度也被修改.在设计时,一切都运行良好,但是当我运行我的应用程序时,TEdit忽略高度修改并且文本被剪切.

我已经尝试按照建议here找到FixedHeight,但我找不到这个属性.

是否有可能改变TEdit Heigth?

解决方法

这可以通过覆盖控件的AdjustFixedSize方法解决.
正如@chrisrolliston所述,Removing a FMX control’s size restrictions和例证 here

unit Unit4;
interface
uses
  System.SysUtils,System.Types,System.UITypes,System.Classes,System.Variants,FMX.Types,FMX.Controls,FMX.Forms,FMX.Graphics,FMX.Dialogs,FMX.Edit,MyTEdit;

type
  TForm4 = class(TForm)
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
  end;

var
  Form4: TForm4;

implementation

{$R *.fmx}

procedure TForm4.FormCreate(Sender: TObject);
begin
  Edit1.Height := 60;
end;

end.
unit MyTEdit;
interface
uses
  FMX.Edit,FMX.Controls;

type
  TEdit = class(FMX.Edit.TEdit)
  protected
    procedure AdjustFixedSize(const Ref: TControl); override;
  end;

implementation
uses
  FMX.Types;

procedure TEdit.AdjustFixedSize(const Ref: TControl);
begin
  SetAdjustType(TAdjustType.None);
end;

end.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...