gpt4 book ai didi

delphi - 在 firemonkey 中创建复合控件

转载 作者:行者123 更新时间:2023-12-03 15:51:43 24 4
gpt4 key购买 nike

德尔福XE-6

我正在尝试创建自己的自定义 Firemonkey 控件,该控件源自 TGroupBox,其中我在组框上创建了一个 TGridPanelLayout 控件。

constructor TMyRadioGroup.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FLayout:= TGridPanelLayout.Create(self);
FLayout.Parent:= self;
end;

如何防止用户选择和/或删除 TGridPanelLayout 控件?在设计时,我只希望我的父控件(派生自 TGroupbox)可以从表单中选择和删除。

最佳答案

您需要将每个不希望在设计时选择的子控件的 Stored 属性设置为 false。例如,以下代码创建一个带有两个子控件的面板,一个 TEdit 和一个 TButton

unit PanelCombo;

interface

uses
System.SysUtils, System.Classes, FMX.Types, FMX.Controls,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.Edit;

type
TPanelCombo = class(TPanel)
private
{ Private declarations }
edit1: TEdit;
button1: TButton;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TPanelCombo]);
end;

constructor TPanelCombo.Create(AOwner: TComponent);
begin
inherited;
edit1:= TEdit.create(self);
edit1.parent:= self;
edit1.align:= TAlignLayout.Top;
edit1.stored:= false;

button1:= TButton.create(self);
button1.parent:= self;
button1.align:= TAlignLayout.bottom;
button1.stored:= false;
end;

destructor TPanelCombo.Destroy;
begin
inherited;
edit1.Free;
button1.Free;
end;

end.

关于delphi - 在 firemonkey 中创建复合控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293761/

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