Содержание материала

Есть ли возможность в компоненте Tabbednotebook сделать какую-либо страницу недоступной? То есть не позволять пользователю щелкать на ней и видеть ее содержимое?

 Да, такая возможность существует. Самый простой путь - удалить страницу, например так:

Code:

with TabbedNotebook do

Pages.Delete(PageIndex);

 

и снова включить ее (при необходимости), перегрузив форму.

 

Блокировка (а не удаление) немного мудренее, поскольку необходима организация цикла в процедуре создания формы, присваивающая имена закладкам компонента TabbedNotebook. Например так:

Code:

J := 0;

with TabbedNotebook do

for I := 0 to ComponentCount - 1 do

   if Components[I].ClassName = 'TTabButton' then

     begin

       Components[I].Name := ValidIdentifier(TTabbedNotebook(

         Components[I].Owner).Pages[J]) + 'Tab';

       Inc(J);

     end;

 

 где ValidIdentifier ValidIdentifier - функция, которая возвращает правильный Pascal-идентификатор, производный от строки 'Tab':

Code:

function ValidIdentifier(theString: str63): str63;

{--------------------------------------------------------}

{ Конвертирует строку в правильный Pascal-идентификатор, }

{ удаляя все неправильные символы и добавляя символ '_', }

{ если первый символ - цифра                             }

{--------------------------------------------------------}

var

I, Len: Integer;

begin

Len := Length(theString);

for I := Len downto 1 do

   if not (theString[I] in LettersUnderscoreAndDigits) then

     Delete(theString, I, 1);

if not (theString[1] in LettersAndUnderscore) then

   theString := '_' + theString;

ValidIdentifier := theString;

end; {ValidIdentifier}

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить