Главная страница | назад





Article #16906: Reducing the resource requirements of TNotebook and TTabbedNotebook

 Question and Answer Database

FAQ1906D.txt   Reducing the resource requirements of TNotebook and TTabbedNotebook
Category   :VCL
Platform    :All
Product    :All 32 bit  

Question:
Is there any way to reduce the resource requirements of the
TNotebook and TTabbedNotebook components?


Answer:
Yes. It is possible to reduce the requirements of the pages in the
TNotebook and TTabbedNotebook components by destroying the handles of
the components that are not on the current page. The following
example demonstrates calling the protected DestroyHandle method of the
page, by subclassing the notebook to get access to the protected
method.

type TMyTabbedNotebook = class(TTabbedNotebook);
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;


7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99