anchor.diff:    TSynBaseCompletionProposalForm = class(TSynForm)
     private
       FCurrentString: string;
  -    FOnKeyPress: TKeyPressWEvent;
       FOnPaintItem: TSynBaseCompletionProposalPaintItem;
       FOnMeasureItem: TSynBaseCompletionProposalMeasureItem;
       FOnChangePosition: TCompletionChange;
  
positive.code:     function IsWordBreakChar(AChar: WideChar): Boolean;
    protected
      FCodeItemInfoWindow : THintWindow;
      procedure DoKeyPressW(Key: WideChar);
      procedure KeyDown(var Key: Word; Shift: TShiftState); override;
      procedure KeyPress(var Key: Char); override;
      procedure KeyPressW(var Key: WideChar); virtual;
      procedure Paint; override;
      procedure Activate; override;
      procedure Deactivate; override;
      procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
      procedure Resize; override;
      procedure Notification(AComponent: TComponent; Operation: TOperation); override;
      procedure WMChar(var Msg: TWMChar); message WM_CHAR;
      procedure WMMouseWheel(var Msg: TMessage); message WM_MOUSEWHEEL;
      procedure WMActivate (var Message: TWMActivate); message WM_ACTIVATE;
      procedure WMEraseBackgrnd(var Message: TMessage); message WM_ERASEBKGND;
  
negative.code:     SendMessage(ParentForm.Handle, WM_NCACTIVATE, Ord(Message.Active <> WA_INACTIVE), 0);
  end;
  
  procedure TSynBaseCompletionProposalForm.DoFormHide(Sender: TObject);
  begin
    if CurrentEditor <> nil then
  