我有一个用 Delphi 10.4 编写的可视化控件。为了方便地关注问题,我仅创建了具有 Anchors 和 Align 属性的 TwinControl。我包括了 AutoSize 属性。问题是当该组件构建安装并放置在 TForm 上时,控件将不会响应表单大小调整。
该控件已将控件设置为锚定正确。我向表单添加了一个 TButton,并将其锚点设置为 akRight。按钮随着表单的拉伸而移动。我的控制没有。我可以提供这个小测试的完整源代码。也许有人以前见过这个。我以前曾在我的组件中使用过 TFrame,但发现存在一些显示问题,仅部分控件显示或根本不显示。我的客户没有留下深刻的印象。我会欣赏一些智慧。
这是来自 TWinControl 的代码
unit SampleControl;
interface
uses
System.Classes, Vcl.Controls, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Buttons, Vcl.Dialogs,
Vcl.Graphics,AdvGrid,vcl.Forms,System.SysUtils,StrUtils,Messages, EBS3DataUtils,
EBSGridSetup,System.UITypes,WinApi.Windows,vcl.Grids,AdvObj,System.Variants;
Type
TSampleControl = class(TWinControl)
private
FAnchors: TAnchors;
FAlign : TAlign;
FAutoSize : Boolean;
procedure InitializeComponents;
procedure SetAnchors(const Value: TAnchors);
procedure SetAlign(const Value: TAlign);
procedure SetAutoSize(const Value: Boolean);
Public
procedure Resize; Override;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
Published
property Anchors: TAnchors read FAnchors write SetAnchors default …Run Code Online (Sandbox Code Playgroud)