创建窗体,为什么屏幕闪动很厉害?
qdmis 2005-05-17 11:17:33 procedure ShowFormInForm(
ParentForm:TForm;FormClass:TFormClass;SB:TStatusBar;PnlNO:Integer);overload;
var
iFormsCount:Integer;
Form:TForm;
begin
//检测是否已经有对应窗体类的实例,如果有,则不创建,仅仅Show出来即可
for iFormsCount:=0 to Screen.FormCount-1 do
begin
if Screen.Forms[iFormsCount].ClassType=FormClass then
begin
Screen.Forms[iFormsCount].Show;
Exit;
end;
end;
//要想将新窗体呈现在已有窗体之中,则:
//要指定其Parent为已经有的窗体,你必须指明Parent是哪个个父窗体
try
Screen.Cursor:=crHourGlass;
Form:=FormClass.Create(ParentForm);
Form.Parent:=ParentForm;
Form.Align:=alClient;
Form.BorderStyle:=bsNone;
Form.Visible:=True;
finally
Screen.Cursor:=crDefault;
end;
end;