我有一个MDIChild
表单,打开如下:
Application.CreateForm (TForm1, Form1);
示例MDIChild
表单类
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
但有时我需要这个模态形式。。。通过一些技巧,我调整了我的代码如下,以在模式下打开它:
Application.CreateForm (TForm1, Form1);
Form1.FormStyle: = fsNormal;
Form1.Visible: = False;
Form1.Position: = poMainFormCenter;
Form1.ShowModal;
这样它就工作了,但它会一直闪烁,直到出现在屏幕上。。
我想知道是否有任何方法可以在您到达Form1.ShowModal
呼叫之前不闪烁/显示表格;
type
TfrmManProduto = class(TForm)
public
constructor Create(AOwner: TComponent; isModal: Boolean); reintroduce;
end;
implemetation
TfrmManProduto.Create(AOwner: TComponent; isModal: Boolean);
begin
inherited Create(AOwner);
Position := poMainFormCenter;
if not (isModal) then
begin
FormStyle := fsMDIChild;
Visible := True;
end;
end;
调用MDIChild样式(非模态(
frmManProduto := TfrmManProduto.Create(Application, False);
调用普通风格(模式(
frmManProduto := TfrmManProduto.Create(Application, True);
frmManProduto.ShowModal();