Справочник по компонентам Delphi. Часть 2
Страница 28. Компонент TNotebook


Компонент TNotebook

TObject—^TPersistent-”TComponent-”TControl—>TWinControl->
—>TCustoinControl-”TNotebook
Модуль EXTCTRLS
Страница Палитры компонентов Additional

Этот компонент представляет собой "страницы" блокнота, на которых распо­лагаются другие визуальные компоненты. Каждая страница сама является окон­ным элементом управления и содержит список того, что на ней расположено.

Получить доступ или переустановить активную страницу    записной книжки можно посредством имеющегося у нее имени:

(Pb) property ActivePage: string;

Кроме того, активная страница еще и идентифицируется индексом, определен­ным в свойстве:

(Рта property Pagelndex: Integer;

Для реакции при изменении текущей страницы предусмотрено свойство:

(Pb) property OnPageChanged: TNotifyEvent;
В свойстве

(Pb) property Pages: TStrings;

содержится вся информация о страницах. Напомним, что в классе TStrings есть два основных списка: через список Pages.Strings можно обратиться к именам страниц, а через список Objects — непосредственно к объектам-страницам. Опубликованными свойствами страницы являются Caption, Height, Width, Visible и TabOrder.Используя методы компонента TStrings, можно добавлять и удалять страницы, проводить поиск и т. п. В конструкторе ком­понента TNotebook список инициализируется единственной страницей с именем 'Default'.

В приведенном ниже фрагменте кода после выбора гмени файла изобра­жения добавляется новая страница, содержащая это изображение в компоненте TScrollBox. После успешной загрузки страница "Default" более здесь не нужна и удаляется, если она еще есть:

Procedure TFormI.OpenlClick(Sender: TObject);

var Animage : TImage;

AScrollBox: TScrollBox;

i: integer;

begin OpenDialogI-Filter:= GraphicFilter(TGraphic);

if not OpenDialogI.Execute then Exit;

Animage := TImage.Create(Self);

with Animage do begin

Picture.LoadFroinPile (OpenDialogI. FileName) ;

AutoSize := True;
Visible := True;
end;
AScrollBox:= TScrollBox.Create(Self);

with AScrollBox do begin

Align := alClient;
Visible := True;
end;

with Notebookl do begin

Pages-Add(Extract PileName(OpenDialogI.FileName)) ;

Animage.Parent := AScrollBox;
AScrollBox.Parent:= Pages-Objects[Pagelndex] as TPage;
i := Pages.IndexOf('Default');

if io-1 then Pages.Delete(i);

TabSetl.Tabs := Pages ;
TabSetl.TabIndex := Pages.Count - 1;
end;
end;
В этом примере компонент TNotebook взаимодействует с TTabSet — вместе они составляют блокнот.
 
 
« Предыдущая статья   Следующая статья »