Можно ли уменьшить потребляемые компонентами 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;
 
« Предыдущая статья   Следующая статья »