На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Компоненты / Можно ли уменьшить потребляемые компонентами TNotebook и TTabbedNotebook ресурсы? Сделать домашней страницей Добавить в избранное Написать писмо

Можно ли уменьшить потребляемые компонентами TNotebook и TTabbedNotebook ресурсы?


Да. Можно уничтожать обьекты, расположенные не на текущей странице TNotebook или TTabbedNotebook. В примере вызывается защищенный (Protected) метод путем создания так называемый "class cracer'ов".

type TMyTabbedNotebook = class(TTabbedNotebook); //это наш "class cracer"
type TMyNotebook = class(TNotebook);

procedure TForm1.TabbedNotebook1Change(Sender: TObject; NewTab: Integer;
           var AllowChange: Boolean);
begin
   with TabbedNotebook1 do //вызываем защищенный метод родительского класса
       TMyTabbedNotebook(TWinControl(Pages.Objects[PageIndex])).DestroyHandle;
end;

procedure TForm1.TabSet1Change(Sender: TObject; NewTab: Integer;
           var AllowChange: Boolean);
begin
   with Notebook1 do //вызываем защищенный метод родительского класса
       TMyNotebook(TWinControl(Pages.Objects[PageIndex])).DestroyHandle;
       NoteBook1.PageIndex := NewTab;
       AllowChange := true
end;


Источник: Дельфи. Вокруг да около.

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz