anchor.diff:    { Panel which keeps child items in it, it's virtual and invisible }
     TKMPanel = class(TKMControl)
     private
  -    fCollection: TKMMasterControl;
  +    fMasterControl: TKMMasterControl;
       procedure Init;
     protected
       //Do not propogate SetEnabled and SetVisible because that would show/enable ALL childs childs
  
positive.code: 
  
  //Check if control is covered by other controls or not
  //We assume that control is covered if any of his 4 angles are covered
  //Use Self coordinates to check, because some controls can contain other controls (f.e. TKMNumericEdit)
  function TKMMasterControl.IsCtrlCovered(aCtrl: TKMControl): Boolean;
  begin
    Result := (HitControl(aCtrl.SelfAbsLeft, aCtrl.SelfAbsTop) = aCtrl)
          and (HitControl(aCtrl.SelfAbsLeft + aCtrl.SelfWidth - 1, aCtrl.SelfAbsTop) = aCtrl)
          and (HitControl(aCtrl.SelfAbsLeft, aCtrl.SelfAbsTop + aCtrl.SelfHeight - 1) = aCtrl)
          and (HitControl(aCtrl.SelfAbsLeft + aCtrl.SelfWidth - 1, aCtrl.SelfAbsTop + aCtrl.SelfHeight - 1) = aCtrl);
    Result := not Result;
  end;
  
  
  
negative.code:   if Visible and fEnabled then
    begin
      //Mark self as CtrlOver and CtrlUp, don't mark CtrlDown since MouseUp manually Nils it
      Parent.fMasterControl.CtrlOver := Self;
      Parent.fMasterControl.CtrlUp := Self;
      if Assigned(fOnClick) then fOnClick(Self);
      Result := true; //Click has happened
    end
  