anchor.diff:  
   { TfpgMessageBox }
   
  -procedure TfpgMessageBox.HandleKeyPress(var keycode: word;
  -  var shiftstate: TShiftState; var consumed: boolean);
  -begin
  -  inherited HandleKeyPress(keycode, shiftstate, consumed);
  -  if keycode = keyEscape then
  -    Close;
  -end;
  -
  -procedure TfpgMessageBox.HandlePaint;
  +procedure TfpgMessageBox.FormPaint(Sender: TObject);
   var
     n, y: integer;
     tw: integer;
   begin
  -  inherited HandlePaint;
  -
     Canvas.SetFont(FFont);
     y := FTextY;
     for n := 0 to FLines.Count-1 do
  
positive.code: 
    TfpgMessageBox = class(TfpgForm)
    private
      FLines: TStringList;
      FFont: TfpgFont;
      FTextY: integer;
      FLineHeight: integer;
      FMaxLineWidth: integer;
      FButton: TfpgButton;
      FCentreText: Boolean;
    protected
      procedure   HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: boolean); override;
      procedure   HandlePaint; override;
      procedure   HandleShow; override;
    public
      constructor Create(AOwner: TComponent); override;
      destructor  Destroy; override;
      procedure   SetMessage(AMessage: string);
      property    CentreText: Boolean read FCentreText write FCentreText default False;
    end;
  
negative.code:   FFont.Free;
    FLines.Free;
    inherited Destroy;
  end;
  
  procedure TfpgMessageBox.AfterCreate;
  begin
    inherited AfterCreate;
    {@VFD_BODY_BEGIN: MessageBox}
    Name := 'MessageBox';
    SetPosition(330, 199, 419, 138);
    WindowTitle := 'Message';
    Hint := '';
    WindowPosition := wpOneThirdDown;
    MinWidth := 200;
    Sizeable := False;
    OnShow  := @FormShow;
    OnPaint := @FormPaint;
    OnKeyPress := @FormKeyPressed;
  
    FButton := TfpgButton.Create(self);
    with FButton do
    begin
      Name := 'FButton';
      SetPosition(8, 8, 75, 23);
      Text := 'OK';
      FontDesc := '#Label1';
      Hint := '';
      ImageName := '';
      ModalResult := mrOK;
      TabOrder := 1;
      OnKeyPress := @FormKeyPressed;
    end;
  
    {@VFD_BODY_END: MessageBox}
  end;
  
  procedure TfpgMessageBox.SetMessage(AMessage: string);
  