anchor.diff:      property Height: Integer read GetHeight;
     end;
   
  -  TPage = class(TRelated)
  +  TLayout = class(TContainer)
     private
  -    FPages: TPages;
  +    FLayouts: TLayouts;
       FEnabled: Boolean;
     protected
       procedure SetBoundRect(const Value: TRect); override;
     public
       procedure ExcludeClipRect(vCanvas: TCanvas); override;
  -    function GetPageByIndex(vIndex: Integer): TPage; override;
  -    function GetPageByPoint(X, Y: Integer): TPage; override;
  +    function GetLayoutByIndex(vIndex: Integer): TLayout; override;
  +    function GetLayoutByPoint(X, Y: Integer): TLayout; override;
       constructor Create(AOwner: TComponent); override;
       procedure PaintBackground(vCanvas: TCanvas); override;
     published
       property Enabled: Boolean read FEnabled write FEnabled default True;
     end;
   
  -  TPageList = class(TObjectList)
  +  TLayoutList = class(TObjectList)
     private
  -    function GetItem(Index: Integer): TPage;
  -    procedure SetItem(Index: Integer; AObject: TPage);
  +    function GetItem(Index: Integer): TLayout;
  +    procedure SetItem(Index: Integer; AObject: TLayout);
     public
  -    property Items[Index: Integer]: TPage read GetItem write SetItem; default;
  -  end;
  -
  -  TPages = class(TRelated)
  +    property Items[Index: Integer]: TLayout read GetItem write SetItem; default;
  +  end;
  +
  +  TLayouts = class(TContainer)
     private
  -    FPageList: TPageList;
  -    FPageHeight: Integer;
  -    FPageWidth: Integer;
  +    FLayoutList: TLayoutList;
  +    FLayoutHeight: Integer;
  +    FLayoutWidth: Integer;
       FCaption: String;
       FBkColor: TColor;
       procedure ReadBoards(Reader: TReader);
  
positive.code: constructor TElement.CreateBy(AOwner: TComponent; X: Integer; Y: Integer);
  begin
    Create(AOwner);
    if Related.Board.NextElement <> nil then
    begin
      AfterCreate(X, Y, True);
      Invalidate;
  
negative.code:     Result := nil;
  end;
  
  function TLayouts.HitTest(X, Y: Integer; out vElement: TElement): Boolean;
  var
    i: Integer;
  begin
    Result := inherited HitTest(X, Y, vElement);
    if not Result then
      for i := 0 to FLayoutList.Count - 1 do
      begin
        Result := FLayoutList[i].HitTest(X, Y, vElement);
        if Result then
          break;
      end;
  end;
  
  procedure TLayouts.Init;
  begin
    inherited;
    Allotment;
  end;
  
  procedure TLayouts.LoadFromFile(vFileName: String);
  var
    aFile: TFileStream;
  begin
  