void __fastcall TForm1::PageControl1Change(TObject *Sender)
{
short unsigned int tab_max;
short unsigned int i;
tab_max=PageControl1->PageCount;//общее число страниц включая и невидимые
i=0;
while(i<tab_max){
PageControl1->Pages[i]->Highlighted=false;
if(i==PageControl1->ActivePageIndex){
PageControl1->Pages[i]->Highlighted=true;
}
i++;
}
}
Неправильная работа Page Control при попытке скрыть страницу. Builder 6
Если в инспекторе объектов для какой -нибудь страницы выставить свойство TabVisible=false, то страница исчезает в режиме редактирования, но в режиме исполнения программы она становится видимой , а вместо нее невидимой становится последняя страница PageControl-а.
И, если в режиме редактирования сделать невидимыми несколько страниц, они правильно исчезнут в режиме редактирования, но в режиме исполнения они будут видимыми, а невидимыми станут последовательно несколько страниц с конца , столько, сколько и было сделано невидимыми в инспекторе объектов.
Аналогично все работает при запрещении отображения в режиме исполнения:
Код:
PageControl3->Pages[0]->TabVisible=false;
PageControl3->Pages[3]->TabVisible=false;
PageControl3->Pages[3]->TabVisible=false;
Уточнение: неправильная работа начинается как только у PageControl появляется событие PageControlxxDrawTab. Если события нет - все работает правильно.
Увы, еще уточнение: в общем случае работает неправильно.
Кто-нибудь сталкивался и как боролся, кто кого победил?
Как ограниченно приемлемое решение остается использование свойство TabSheet Highlighted:
Код: