C czkun Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #1 我在主窗体上建立一个pagecontrol,增加两二tabsheet,有没有办法选择不同的tabsheet把另外两个窗体分别加载进来呢? 有点像网页中的框加嵌入, 快点指点迷津哦
完 完美动物 Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #2 真奇怪 ,为什么要在tabsheet上加窗体呢? 直接加控件不行吗? 非要这样的话 提供一个变通的方法 点tabsheet1 显示form1 点tabsheet2 显示form2 procedure TFrmMain.PageControl1Change(Sender: TObject); begin if PageControl1.ActivePage=TabSheet1 then begin Form1:=TForm1.Create(nil); try Form1.ShowModal; finally form1:=nil; Form1.Free; end; end; if PageControl1.ActivePage=TabSheet2 then begin Form2:=TForm2.Create(nil); try Form2.ShowModal; finally form2:=nil; Form2.Free; end; end; end;
真奇怪 ,为什么要在tabsheet上加窗体呢? 直接加控件不行吗? 非要这样的话 提供一个变通的方法 点tabsheet1 显示form1 点tabsheet2 显示form2 procedure TFrmMain.PageControl1Change(Sender: TObject); begin if PageControl1.ActivePage=TabSheet1 then begin Form1:=TForm1.Create(nil); try Form1.ShowModal; finally form1:=nil; Form1.Free; end; end; if PageControl1.ActivePage=TabSheet2 then begin Form2:=TForm2.Create(nil); try Form2.ShowModal; finally form2:=nil; Form2.Free; end; end; end;
S steven7581 Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #3 pagecontrol的TabSheet上加一个Panel,在窗体的底层也加一个panel, 在打开主窗体时 子窗体名.Panel.Dock(主窗体,BoundsRect);
B bjaman Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #4 Form2对应Unit2,Form3对应Unit3,测试通过.... uses Unit2,unit3; {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); begin Form2.Show; Form2.Parent := TabSheet1; Form2.Align := alClient; Form3.Show; Form3.Parent := TabSheet2; Form3.Align := alClient; end;
Form2对应Unit2,Form3对应Unit3,测试通过.... uses Unit2,unit3; {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); begin Form2.Show; Form2.Parent := TabSheet1; Form2.Align := alClient; Form3.Show; Form3.Parent := TabSheet2; Form3.Align := alClient; end;