anchor.diff:  
   //Overriden in child classes
   procedure TKMControl.SetHeight(aValue: Integer);
  -begin
  +var
  +  OldH: Integer;
  +begin
  +  OldH := fHeight;
     fHeight := aValue;
  +  if (OldH <> fHeight) and Assigned(fOnHeightChange) then
  +    fOnHeightChange(Self, fHeight);
   end;
   
   //Overriden in child classes
   procedure TKMControl.SetWidth(aValue: Integer);
  -begin
  +var
  +  OldW: Integer;
  +begin
  +  OldW := fHeight;
     fWidth := aValue;
  +  if (OldW <> fWidth) and Assigned(fOnWidthChange) then
  +    fOnWidthChange(Self, fWidth);
   end;
   
   
  
positive.code:     fOnChangeEnableStatus: TBooleanEvent;
      fOnKeyDown: TNotifyEventKeyShiftFunc;
      fOnKeyUp: TNotifyEventKeyShiftFunc;
  
      function GetAbsLeft: Integer;
      function GetAbsTop: Integer;
  
negative.code:     property OnChangeEnableStatus: TBooleanEvent read fOnChangeEnableStatus write fOnChangeEnableStatus;
      property OnKeyDown: TNotifyEventKeyShiftFunc read fOnKeyDown write fOnKeyDown;
      property OnKeyUp: TNotifyEventKeyShiftFunc read fOnKeyUp write fOnKeyUp;
  
      property OnWidthChange: TObjectIntegerEvent read fOnWidthChange write fOnWidthChange;
      property OnHeightChange: TObjectIntegerEvent read fOnHeightChange write fOnHeightChange;
  
      procedure Paint; virtual;
      procedure UpdateState(aTickCount: Cardinal); virtual;
  