MDI程序,子窗体的Caption怎么放在父窗体的Menu上,并响应事件

MDI程序,子窗体的Caption如何放在父窗体的Menu上,并响应事件?
MDI程序,子窗体的Caption如何放在父窗体的Menu上,并响应事件?

我现在的做法是如下:
procedure TForm1.testForm1Click(Sender: TObject);
var
  newMenu:TMenuItem;
begin
  if not Assigned(testForm) then //先检测该窗口是否已存在,如果不存在就创建并Show
  begin
  testForm:=TtestForm.Create(Application);
  testForm.Show;

  newMenu:=TMenuItem.Create(Application); //创建菜单
  Window1.Add(newMenu); //并放在名为Windows的菜单下

  newMenu.Caption:=testForm.Caption; //为刚创建的菜单赋Caption
  newMenu.OnClick:=testForm1.OnClick;; //把事件赋于该菜单
  end
  else
  begin
  testForm.Show;
  ShowMessage('just show');
  end;
end;

这样做是能达到效果,只是想知道有没有更好的方法?
还有就是该子窗口关闭后,如何把这个昨时创建的Menu项给删除和释放?

------解决方案--------------------
很简单的!
代码就不写了,只提供思路!
建议将主界面的Menu用一个公共类来管理,用户登录验证通过后,
就从后台将该用户的权限菜单创建出来(没有权限的菜单可以变成灰色的,或者干脆就不显示出来)。
如果子窗体关闭时,就刷新这个公共类,自然的主窗体的菜单就会自动变化。
------解决方案--------------------
写到一个公共函数里面就行了
循环检测 
动态创建即可