anchor.diff:      procedure ButtonClick(Sender: TObject);
       procedure ListShow(Sender: TObject); virtual;
       procedure ListClick(Sender: TObject); virtual;
  +    procedure ListChange(Sender: TObject); virtual;
       procedure ListHide(Sender: TObject); virtual;
       function ListVisible: Boolean; virtual; abstract;
       function GetItemIndex: SmallInt; virtual; abstract;
  
positive.code:     procedure UpdateDropPosition; override;
      procedure ListShow(Sender: TObject); override;
      procedure ListClick(Sender: TObject); override;
      procedure ListHide(Sender: TObject); override;
      function ListVisible: Boolean; override;
      function GetItem(aIndex: Integer): TKMListRow;
  
negative.code: end;
  
  
  procedure TKMDropCommon.ListChange(Sender: TObject);
  begin
    if (ItemIndex <> -1) then
      if Assigned(fOnChange) then fOnChange(Self);
  end;
  
  
  procedure TKMDropCommon.ListHide(Sender: TObject);
  begin
    fShape.Hide;
  