anchor.diff:  
       fTimeOfLastClick: Cardinal; //Required to handle double-clicks
   
  +    fOnChangeVisibility: TEvent;
       fOnClick: TNotifyEvent;
       fOnClickShift: TNotifyEventShift;
       fOnClickRight: TPointEvent;
  
positive.code:     function ListVisible: Boolean; virtual; abstract;
      function GetItemIndex: SmallInt; virtual; abstract;
      procedure SetItemIndex(aIndex: SmallInt); virtual; abstract;
    protected
      procedure DoClick(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure SetTop(aValue: Integer); override;
  
negative.code:   //Only swap focus if visibility changed
    if (OldVisible <> fVisible) and (Focusable or (Self is TKMPanel)) then
      MasterParent.fMasterControl.UpdateFocus(Self);
  
    if Assigned(fOnChangeVisibility) then
      fOnChangeVisibility;
  end;
  
  
  