anchor.diff:      function    GetHint: TfpgString; virtual;
       procedure   SetHint(const AValue: TfpgString); virtual;
       procedure   DoUpdateWindowPosition; override;
  -    procedure   DoAlign(AAlign: TAlign);
  +    procedure   DoAlignment;
       procedure   DoResize;
       procedure   DoShowHint(var AHint: TfpgString);
       procedure   HandlePaint; virtual;
  
positive.code:         w.MoveAndResize(FAlignRect.Left, FAlignRect.Top, FAlignRect.Width, FAlignRect.Height);
      end; { case }
    end;
  
    alist.Free;
  end;
  
  procedure TfpgWidget.DoResize;
  
negative.code:   dy: integer;
    dw: integer;
    dh: integer;
    w: TfpgWidget;
  begin
    if (csLoading in ComponentState) then
      Exit;  //==>
  //  writeln('HandleAlignments - ', Classname);
    FAlignRect := GetClientRect;
  
    alist := TList.Create;
    try
      for n := 0 to ComponentCount - 1 do
        if Components[n] is TfpgWidget then
        begin
          w := TfpgWidget(Components[n]);
          if (w.Align <> alNone) and (w.Visible) then
            alist.Add(w);
        end;
  
      DoAlignment;
      //DoAlign(alTop);
      //DoAlign(alBottom);
      //DoAlign(alLeft);
      //DoAlign(alRight);
      //DoAlign(alClient);
    finally
      alist.Free;
    end;
  
    // handle anchors finally for alNone
    for n := 0 to ComponentCount - 1 do
  