anchor.diff:  
       function GetVisibleRows: Integer;
       function KeyDown(Key: Word; Shift: TShiftState): Boolean; override;
  +    function KeyUp(Key: Word; Shift: TShiftState): Boolean; override;
       procedure MouseWheel(Sender: TObject; WheelDelta: Integer); override;
       procedure MouseDown(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
       procedure MouseMove(X,Y: Integer; Shift: TShiftState); override;
  
positive.code:   if (Shift = [ssCtrl]) and (Key <> VK_CONTROL) then
      case Key of
        Ord('A'): SetSelections(0, GetMaxCursorPos);
        Ord('C'): if HasSelection then
                    Clipboard.AsText := GetSelectedText;
        Ord('X'): if HasSelection then
                    Clipboard.AsText := GetSelectedText;
      end;
  
negative.code: end;
  
  
  function TKMMemo.KeyUp(Key: Word; Shift: TShiftState): Boolean;
  begin
    Result := inherited KeyUp(Key, Shift) or KeyEventHandled(Key, Shift);
  end;
  
  
  procedure TKMMemo.MouseWheel(Sender: TObject; WheelDelta: Integer);
  begin
    inherited;
  