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

  

TNotebook

 

Операция по заполнению элементами управления компонента TNotebook почти такая же, как и в TTabbedNotebook - разница лишь в типе класса - TPage вместо TTabPage. Тем не менее, если вы заглянете в DELPHI\DOC\EXTCTRLS.INT, декларацию класса TPage вы там не найдете. По неизвестной причине Borland не включил определение TPage и в DOC-файлы, поставляемые с Delphi. Декларация TPage в EXTCTRLS.PAS (можно найти в библиотеке VCL-исходников), правда, расположена в интерфейсной части модуля. Мы восполним пропущенную информацию о классе TPage:

 

Code:

TPage = class(TCustomControl)

private

procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;

protected

procedure ReadState(Reader: TReader); override;

procedure Paint; override;

public

constructor Create(AOwner: TComponent); override;

published

property Caption;

property Height stored False;

property TabOrder stored False;

property Visible stored False;

property Width stored False;

end;

 

Теперь, по аналогии с вышеприведенной процедурой, попробуем добавить кнопку на TNotebook. Все, что мы должны сделать - заменить "TTabbedNotebook" на "TNotebook" и "TTabPage" на "TPage". Вот что должно получиться:

 

Code:

{ Данная процедура добавляет кнопку в случайной позиции на }

{ текущей странице данного TNotebook.                      }

 

procedure AddButton(Notebook1: TNotebook);

var

page: TPage;

button: TButton;

begin

with Notebook1 do

   page := TPage(Pages.Objects[PageIndex]);

button := TButton.Create(page);

try

   with button do

   begin

     Parent := page;

     Left := Random(page.ClientWidth - Width);

     Top := Random(page.ClientHeight - Height);

   end;

except

   button.Free;

end;

end;

  

 

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

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

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

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


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