anchor.diff:      procedure   MoveAndResizeBy(const dx, dy, dw, dh: TfpgCoord);
       procedure   SetPosition(aleft, atop, awidth, aheight: TfpgCoord); virtual;
       procedure   Invalidate; // double check this works as developers expect????
  -    property    FormDesigner: TObject read FFormDesigner write FFormDesigner;
  +    property    FormDesigner: TObject read FFormDesigner write SetFormDesigner;
       property    Parent: TfpgWidget read GetParent write SetParent;
       property    ActiveWidget: TfpgWidget read FActiveWidget write SetActiveWidget;
       property    IsContainer: Boolean read FIsContainer;
  
positive.code: procedure TfpgWidget.MsgMove(var msg: TfpgMessageRec);
  begin
    HandleMove(msg.Params.rect.Left, msg.Params.rect.Top);
    if FFormDesigner <> nil then
    begin
      FFormDesigner.Dispatch(msg);
    end;
  
negative.code:   dh      := msg.Params.rect.Height - FHeight;
    HandleResize(msg.Params.rect.Width, msg.Params.rect.Height);
    HandleAlignments(dw, dh);
    if InDesigner then
    begin
      FFormDesigner.Dispatch(msg);
    end;
  