anchor.diff:    else
       begin
         FItemIndex := FindValue(FText);
  +      if not FMultiSelect and (FItemIndex < 0) and (Items.Count > 0) then begin
  +        FItemIndex := 0;
  +        FText := IfThen(ItemsHaveValues, Items.ValueFromIndex[FItemIndex], Items[FItemIndex]);
  +      end;
         ResetItemsSelected;
       end;
     Invalidate;
  
positive.code:               LSelectedVal.Add(Items[v]);
              FItemsSelected[v] := True;
            end;
          ATextValue := LSelectedVal.CommaText;
        finally
          LSelectedIdx.Free;
  
negative.code:       ResetItemsSelected;
        LSelectedVal := TStringList.Create;
        try
          LSelectedVal.StrictDelimiter := True;
          LSelectedVal.CommaText := FText;
          for i := 0 to LSelectedVal.Count-1 do
            for j := 0 to Items.Count-1 do
  