anchor.diff:  
   
   { Recursing function to find topmost control (excl. Panels)}
  -function TKMMasterControl.HitControl(X,Y: Integer; aIncludeDisabled: Boolean = False): TKMControl;
  +function TKMMasterControl.HitControl(X,Y: Integer; aIncludeDisabled: Boolean = False; aMouseUp: Boolean = False): TKMControl;
     function ScanChild(P: TKMPanel; aX,aY: Integer): TKMControl;
     var I: Integer;
  +      Child: TKMControl;
     begin
       Result := nil;
       //Process controls in reverse order since last created are on top
       for I := P.ChildCount - 1 downto 0 do
  -    if P.Childs[I].fVisible then //If we can't see it, we can't touch it
       begin
  -      //Scan Panels childs first, if none is hit - hittest the panel
  -      if (P.Childs[I] is TKMPanel) then
  +      Child := P.Childs[I];
  +      if Child.fVisible then //If we can't see it, we can't touch it
         begin
  -        Result := ScanChild(TKMPanel(P.Childs[I]),aX,aY);
  -        if Result <> nil then exit;
  +        //Scan Panels childs first, if none is hit - hittest the panel
  +        if (Child is TKMPanel) then
  +        begin
  +          Result := ScanChild(TKMPanel(Child),aX,aY);
  +          if Result <> nil then exit;
  +        end;
  +        if Child.HitTest(aX, aY, aIncludeDisabled) then
  +        begin
  +          Result := Child;
  +          Exit;
  +        end;
         end;
  -      if P.Childs[I].HitTest(aX, aY, aIncludeDisabled) then
  -      begin
  -        P.Childs[I].HitTest(aX, aY, aIncludeDisabled);
  -        Result := P.Childs[I];
  -        Exit;
  -      end;
  +
       end;
     end;
   begin
  
positive.code:       if Assigned(fOnChange) then
          fOnChange(Self);
      end;
    end;
  end;
  
  
  
negative.code:     procedure KeyPress(Key: Char); override;
      procedure MouseDown(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure MouseMove(X,Y: Integer; Shift: TShiftState); override;
      procedure MouseUp(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure MouseWheel(Sender: TObject; WheelDelta: Integer); override;
      procedure DoClick(X, Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure UpdateMouseOverPosition(X,Y: Integer);
  