One of the ways for MDIChild form hiding is WinAPI ShowWindow and SetWindowPos functions. Hide1Click procedure hides the form and Show1Click procedure shows this form. Don't forget to remove line Application.CreateForm(TForm2, Form2) from project file and line var Form2: TForm2 from unit2.pas file.
var ChildForm: TForm; ... procedure TForm1.New1Click(Sender: TObject); begin if not Assigned(ChildForm) then begin ChildForm:=TForm2.Create(Application); ChildForm.Caption:='ChildForm'; end; end; procedure TForm1.Hide1Click(Sender: TObject); begin if Assigned(ChildForm) then ShowWindow(ChildForm.Handle, SW_HIDE); end; procedure TForm1.Show1Click(Sender: TObject); begin if Assigned(ChildForm) then SetWindowPos(ChildForm.Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_SHOWWINDOW); end;