如何在 C++ Builder 中隐藏 PageControl TabSheets 的标题

Luk*_*kas 5 c++ vcl c++builder tpagecontrol

我想知道如何隐藏 PageControl 组件中 TabSheets 的标题。我想创建一个创建者,例如建立你的冠军,你可以在页面上选择一些东西。TabSheets 将由计时器每 10 秒更改一次。在Google中我只能找到如何隐藏TabSheet(带有内容)。我只想隐藏 TabSheets 的标题,例如TabSheet1 等。我在 C++ Builder 中工作。问候,

man*_*lio 5

您可以隐藏TPageControlTabVisible属性TabSheet)的每个页面,并且仍然可以通过更改页面控件的属性来显示Tabsheet 代码。ActivePageActivePageIndex

定时器可以调用该SelectNextPage方法以编程方式更改活动页面:

PageControl1->SelectNextPage(true, false);
Run Code Online (Sandbox Code Playgroud)

编辑

Form1带有 a 的简单表单 ( ) TPageControl(如设计器中所示):

设计器中的 TPageControl

隐藏标题的代码:

void __fastcall TForm1::FormShow(TObject *Sender)
{
  for (int i(0); i < PageControl1->PageCount; ++i)
    PageControl1->Pages[i]->TabVisible = false;

  // You can show the TabSheet programmatically changing the active page.
  PageControl1->ActivePage = TabSheet1;
}
Run Code Online (Sandbox Code Playgroud)

选择下一页的代码:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  PageControl1->SelectNextPage(true, false);
}
Run Code Online (Sandbox Code Playgroud)

类似向导的效果(运行时):

在此输入图像描述


最近版本的 C++Builder 具有TCardPanel控制功能。它是一组页面,如TPageControl没有选项卡。您一次显示一页(每个页面都有自己的控件),并且它内置了对使用手势滑动页面的支持。