用户名:  密码:   
您当前的位置:首页 > 程序设计 >  Delphi > 

TabControl与PageControl控件的区别

上次修改时间: 2024-10-09 15:21:02      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Delphi语言\常用控件使用说明\      下一页

TabControl与PageControl控件的区别

PageControl控件功能更强大,可以右击添加多个选项卡,在设计时就可以切换不同选项卡可以放置不同的控件,
TabControl控件也可以点Tabs属性添加选项卡,但设计时只有一个界面添加控件,不能切换不同标签添加不同的控件

控制PC控件显示那个页面
PageControl1.ActivePageIndex := 1; //注:从0开始,第一个页面为0,不是1
ShowMessage(IntToStr(PageControl1.ActivePageIndex)); //获取当前活动页面的编号

PageControl常用属性
caption 标题,要在结构窗体中选择指定标签来改,直接点击不好选择
procedure TFastOpenFr.ts2Show(Sender: TObject);   //当切换到标签显示时执行功能

PageControl控件本身可以隐藏,但它上面的的TabSheet标签不能指定显示那些及隐藏那些,虽可以设置TabSheet的Visable为False,但只隐藏标签上的内容,不能隐藏标签本身

==========================================================================
TabControl控件用法

TabControl1.TabIndex //获取当前活动标签索引值:
TabControl1.TabWidth := 100; //设置各标签的宽度
TabControl1.Tabs.Count //获取标签总数:
TabControl1.Tabs[TabControl1.TabIndex]  //获取当前标签名称或指定值名称

先添加一个固定标签,再查询数据库表指定字段添加为标签
 TabControl1.Tabs.Add('全部数据');  //先添加一个固定标签
 //再循环添加各个标签
 qry1.first;
 while not qry1.Eof do
 begin
 TabControl1.Tabs.Add(qry1.fieldByName('typename').AsString);
 qry1.Next;
 end;
 
当点击不同标签时,根据标签名查询数据,让DBGrid显示不同的内容,给TabControl1Change改变事件添加如下代码
 //由qry查询数据,给ds1,再将DBGrid连接到ds1
  s1:=TabControl1.Tabs[TabControl1.TabIndex]; //获取当前获取标签的文本
  s1:=Copy(s1,Pos(' ',s1)+1,Length(s1));  //截取从空格后一个字符开始到文本结束的内容
  sql := 'select * from quicklink where typeid=(select id from quicktype where typename='''+s1+''')  order by typeid';

  if TabControl1.TabIndex = 0 then    //如果是第一个标签,输出固定数据
  begin
  qry2.Close;
  qry2.SQL.Clear;
  qry2.SQL.Add('select * from quicklink');
  qry2.Open;
  end
  else        //如果不是第一个标签,就根据标签内容生成不同的SQL让DBgrid显示不同内容
  begin
  qry2.Close;
  qry2.SQL.Clear;
  qry2.SQL.Add(sql);
  qry2.Open;
  end;