Delphi中使用TcxPagecontrol控件建立一个VCL应用程序,界面如下图
1.动态创建cxTabsheet的代码如下:
procedure TForm1.cxButton1Click(Sender: TObject);
var
newTabsheet:TcxTabSheet;
i:Integer;
begin
for i := 1 to 5 do
begin
newTabsheet:=TcxTabSheet.Create(self);
newTabsheet.Caption:=i.ToString()+ ' Tabs';
newTabsheet.Tag:=i;
newTabsheet.PageControl:=cxPageControl1;
newTabsheet.Visible:=True;
end;
end;
上述代码将动态创建5个cxTabsheet,执行结果如下
2.动态关闭当前激活的cxTabsheet,代码如下:
procedure TForm1.cxButton2Click(Sender: TObject);
begin
cxPageControl1.ActivePage.Free;
end;
3.动态指定关闭cxTabsheet,代码如下:
procedure TForm1.cxButton3Click(Sender: TObject);
begin
//关闭第2个TABSHEET
cxPageControl1.Pages[1].Free;
end;
4.动态指定激活cxTabsheet,代码如下:
procedure TForm1.cxButton4Click(Sender: TObject);
var
i:Integer;
begin
for i := 0 to cxPageControl1.PageCount-1 do
begin
if cxPageControl1.Pages[i].Tag =1 then
begin
cxPageControl1.ActivePage:= cxPageControl1.Pages[i];
Exit;
end;
end;
end;
5.下面演示如何在cxTabsheet动态加载窗体或控件:
新增加一个button控件,另外再新建一个VCL窗体—FORM2,编写如下代码
procedure TForm1.btn1Click(Sender: TObject); var
newTabsheet:TcxTabSheet; formControl:TForm2;
begin
formControl:=TForm2.Create(Self); newTabsheet:=TcxTabSheet.Create(self); newTabsheet.Caption:='动态加载窗体'; newTabsheet.PageControl:=cxPageControl1; newTabsheet.Visible:=True; formControl.Parent:=newTabsheet; formControl.Align:=alclient; formControl.Show;
cxPageControl1.ActivePage:=newTabsheet; end;
执行结果如下
Form2窗体如果去掉边框,显示效果如下。