主窗口上有个TABLEPAGECTROL,上面有两个TABLESHEET,TABLESHEET1,TABLESHEET2
分别动态载入两个FRAME.RAME1,FRAME2(OUTLOOK效果,不弹出新窗口,都在TABLEPAGECTROL中显示的)我现在想在点FRAME1上的按钮能让他把TABLESHEET2显示出来,并装载FRAME2.我该怎么做啊,头痛啊!

解决方案 »

  1.   

    最不好但能实现你的要求的方法(太紧的耦合)var
      MainForm: TMainForm;implementationuses Frame.Frame_1;{$R *.dfm}procedure TMainForm.ButtonClick(Sender: TObject);
    begin
      with TFrame_1.Create(nil) do
      begin
        Parent := TabSheet_1;
        Visible := True;
        Align := alClient;
      end;
    end;
    TFrame_1 = class(TFrame)
        Button: TButton;
        procedure ButtonClick(Sender: TObject);
      private
      public
      end;uses Frame.Mainform, Frame.Frame_2;{$R *.dfm}procedure TFrame_1.ButtonClick(Sender: TObject);
    begin
      with TFrame_2.Create(nil) do
      begin
        Parent := MainForm.TabSheet_2;
        Visible := True;
        Align := alClient;
        MainForm.PageControl.ActivePage := MainForm.TabSheet_2;
      end;
    end;最好的办法用中介者+责任链模式。(把各个FRAME和MAINFORM解藕)
      

  2.   

    中间办法,建立ACTIONMODULE单元,加入ACTIONMANAGER