水平对接表格,不显示表格

Docking form horizontally without showing form

我要的是多次水平对接表单。但我有一个简单的问题。 任何帮助将不胜感激。

type
  TForm1 = class(TForm)
  Button1: TButton;
  Panel1: TPanel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
  tmpform: TfColorForm;
public
{ Public declarations }
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  lForm: TColorForm;
begin
  lForm := TColorForm.Create(Application);
  tmpform := lForm;
  lform.Show;
  lForm.ManualDock(Panel1, tmpform, alTop);
end;

以及我想要多次停靠的表单...

type
TColorForm = class(TForm)
  Button1: TButton;
  procedure FormCreate(Sender: TObject);
  procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
  ColorForm: TColorForm;

  implementation

{$R *.dfm}

procedure TfColorForm.FormClose(Sender: TObject; var Action:   TCloseAction);
begin
  Action := caFree;
end;

procedure TfColorForm.FormCreate(Sender: TObject);
begin
  Color := Random($FFFFFF);
  Caption := IntToHex(Color, 6);
end;

结果是可以的,但是在停靠之前不显示表格怎么解决呢?

您可以通过将 BorderStyle 设置为 bsNone 来防止 TColorForm 在插接之前闪烁。

或者,如果您想在创建所有表单之前隐藏这些表单,只需隐藏 (Visible := False) 面板,并在创建所有表单后显示它。