anchor.diff:      procedure   HandleShow; override;
       procedure   HandleMove(x, y: TfpgCoord); override;
       procedure   HandleResize(awidth, aheight: TfpgCoord); override;
  -    procedure   HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: boolean); override;
       procedure   DoOnClose(var CloseAction: TCloseAction); virtual;
       function    DoOnHelp(AHelpType: THelpType; AHelpContext: THelpContext; const AHelpKeyword: String; const AHelpFile: String; var AHandled: Boolean): Boolean; virtual;
  -    // properties
  +    procedure   DoKeyShortcut(const AOrigin: TfpgWidget; const keycode: word; const shiftstate: TShiftState; var consumed: boolean; const IsChildOfOrigin: boolean = False); override;
  +    { -- properties -- }
       property    DNDEnabled: boolean read FDNDEnabled write SetDNDEnabled default False;
       property    Sizeable: boolean read FSizeable write FSizeable;
       property    ModalResult: TfpgModalResult read FModalResult write FModalResult;
       property    FullScreen: boolean read FFullScreen write FFullScreen default False;
       property    WindowPosition: TWindowPosition read FWindowPosition write FWindowPosition default wpAuto;
       property    WindowTitle: string read FWindowTitle write SetWindowTitle;
  -    // events
  +    { -- events -- }
       property    OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
       property    OnClose: TFormCloseEvent read FOnClose write FOnClose;
       property    OnCloseQuery: TFormCloseQueryEvent read FOnCloseQuery write FOnCloseQuery;
  
positive.code:   inherited HandleResize(awidth, aheight);
  end;
  
  procedure TfpgBaseForm.HandleKeyPress(var keycode: word;
    var shiftstate: TShiftState; var consumed: boolean);
  var
    i: integer;
    wg: TfpgWidget;
  {$IFDEF CStackDebug}
    itf: IInterface;
  {$ENDIF}
  begin
    {$IFDEF CStackDebug}
    itf := DebugMethodEnter('TfpgBaseForm.HandleKeyPress - ' + ClassName + ' ('+Name+')');
    {$ENDIF}
    // find the TfpgMenuBar
    if not consumed then
    begin
      for i := 0 to ComponentCount-1 do
      begin
        wg := TfpgWidget(Components[i]);
        if (wg <> nil) and (wg <> self) and (wg is TfpgMenuBar) then
        begin
          TfpgMenuBarFriend(wg).HandleKeyPress(keycode, shiftstate, consumed);
          Break; //==>
        end;
      end;
    end;  { if }
  
    inherited HandleKeyPress(keycode, shiftstate, consumed);
  end;
  
  procedure TfpgBaseForm.AfterConstruction;
  begin
    AfterCreate;
  
negative.code:   TfpgMenuBarFriend = class(TfpgMenuBar)
    end;
  
    TfpgWidgetFriend = class(TfpgWidget)
    end;
  
  
  function WidgetParentForm(wg: TfpgWidget): TfpgForm;
  