Delphi 水平对接窗体,不显示窗体
我想要的是将表单水平停靠多次。但我有一个简单的问题。 任何帮助都将不胜感激Delphi 水平对接窗体,不显示窗体,delphi,delphi-10.1-berlin,Delphi,Delphi 10.1 Berlin,我想要的是将表单水平停靠多次。但我有一个简单的问题。 任何帮助都将不胜感激 type TForm1 = class(TForm) Button1: TButton; Panel1: TPanel; procedure Button1Click(Sender: TObject); private { Private declarations } tmpform: TfColorForm; public { Public declarations } end; var 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;
结果是可以的,但如何在不显示窗体的情况下解决它,然后再将其停靠
您可以通过将
边框样式设置为bsNone
来防止t颜色在停靠前闪烁
或者,如果要在创建所有表单之前隐藏表单,只需隐藏(Visible:=False
)面板,并在创建所有表单后显示它。如果在“lform.ManualDock(..”之后移动“lform.show;”,会发生什么情况?所有表单都是垂直的,而不是水平的。是的,问题是表单在停靠前闪烁。谢谢您的帮助!