Как я могу скрыть заголовок вкладок PageControl в C++ Builder

Интересно, как я могу скрыть заголовки TabSheets в компоненте PageControl. Я хочу создать создателя, например, создать своего чемпиона, где вы можете выбирать некоторые вещи на страницах. Вкладки будут меняться каждые 10 секунд по таймеру. В гугле нашел только как скрыть TabSheet(с содержимым). Я хочу скрыть только заголовок TabSheets, например, TabSheet1 и т.д. Я работаю в С++ Builder. Привет,


person Lukas    schedule 30.04.2015    source источник


Ответы (1)


Вы можете скрыть каждую страницу TPageControl (свойство TabVisible TabSheet) и по-прежнему показывать Tabsheet в коде, изменив свойства ActivePage или ActivePageIndex элемента управления страницей.

Таймер может вызывать SelectNextPage. метод программного изменения активной страницы:

PageControl1->SelectNextPage(true, false);

РЕДАКТИРОВАТЬ

Простая форма (Form1) с 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;
}

Код для выбора следующей страницы:

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

Эффект волшебника (во время выполнения):

введите здесь описание изображения

person manlio    schedule 30.04.2015
comment
Да, я знаю. Я вызываю метод SelectNextPage. У меня все еще есть заголовок TabSheet. Мне нужен только лист с содержимым без заголовка, например TabSheet1 - person Lukas; 30.04.2015
comment
Изменить * Теперь у меня нет заголовков TabSheets, но я также не вижу содержимое TabSheets - person Lukas; 30.04.2015
comment
@Lukas Я добавил небольшой пример - person manlio; 02.05.2015
comment
Просто для протокола - у меня это не работало, пока у меня не было PageControl1->ActivePageIndex = 0; (или PageControl1->ActivePage = TabSheet1; как указано выше) - person Reversed Engineer; 21.06.2017