- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Reducing the resource requirements of TNotebook and TTabbedNotebook

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;




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile