我现在想实现这样的功能
在主窗体中点菜单,动态生成子窗体和pagecontrol上的tabsheet
现在的问题是:我想在tabsheet进行切换时,相对应的子窗体就显示到最前面,我在tabclick事件中无法判断当前tab对应的是哪一个form,请高手指点!

解决方案 »

  1.   

    用TTabControl吧//新建窗口时,在Tab上添加项目
    procedure TfrmParentMain.AddTabItem(AForm: TForm);
    begin
       TabControl1.Tabs.AddObject(AForm.Caption, TObject(AForm));
    end;//关闭窗口时,在Tab上删除项目
    procedure TfrmParentMain.DelTabItem(AForm: TForm);
    var
       i: Integer;
    begin
       i := TabControl1.Tabs.IndexOfObject(AForm);
       if i >= 0 then TabControl1.Tabs.Delete(i);
    end;//切换Tab时,显示相关的窗口
    procedure TfrmParentMain.tcTabsChange(Sender: TObject);
    begin
       if TabControl1.TabIndex>=0 then
          TForm(TabControl1.Tabs.Objects[TabControl1.Index]).Show;
    end;