anchor.diff:      FCombobox.ItemIndex:= FDefaultItemIndex;
   end;
   
  +procedure TmComboFilterConditionPanel.OnDropDown(Sender: TObject);
  +begin
  +  if not FWidthOptimized then
  +  begin
  +    OptimalWidth;
  +    FWidthOptimized := true;
  +  end;
  +end;
  +
  +procedure TmComboFilterConditionPanel.CustomDrawItem(Control: TWinControl; Index: Integer; ARect: Types.TRect; State: StdCtrls.TOwnerDrawState);
  +begin
  +  (Control as TComboBox).Canvas.FillRect(ARect);                                         //first paint normal background
  +  mGraphicsUtility.WriteText((Control as TComboBox).Canvas, ARect, (Control as TComboBox).Items[Index], taLeftJustify);
  +end;
  +
   constructor TmComboFilterConditionPanel.Create(TheOwner: TComponent);
   begin
     inherited Create(TheOwner);
     FCombobox := TComboBox.Create(Self);
  -  FComboBox.Parent := Self;
  -  FComboBox.Align:= alBottom;
  -  FComboBox.Style:= csDropDownList;
  -  FComboBox.DropDownCount:= 20;
  +  FCombobox.Parent := Self;
  +  FCombobox.Align:= alBottom;
  +  FCombobox.Style:= csOwnerDrawFixed;
  +  FCombobox.DropDownCount:= 20;
  +  FCombobox.OnDropDown:= Self.OnDropDown;
  +  // FCombobox.OnDrawItem:= CustomDrawItem();
     FLabel := Self.CreateStandardLabel;
     FGarbage := TObjectList.Create(true);
     FDefaultItemIndex:= -1;
     CreateStandardFilterMenu(FLabel, false);
     FValueType:= cfString;
  +  FWidthOptimized := false;
   end;
   
   destructor TmComboFilterConditionPanel.Destroy;
  
positive.code: interface
  
  uses
    Classes, Controls, Graphics, StdCtrls, StrUtils, Contnrs, Variants,
    ExtCtrls, EditBtn, Menus, {$IFNDEF LINUX}Windows, {$ENDIF}
    ATButtons,
    mFilter, mFilterOperators, mBaseClassesAsObjects, mMathUtility,
  
negative.code:   FComboBox.AddItem(aLabel, sh);
    if (FDefaultItemIndex >= 0) and (FCombobox.Items.Count > FDefaultItemIndex) then
      FCombobox.ItemIndex:= FDefaultItemIndex;
  end;
  
  procedure TmComboFilterConditionPanel.ClearItems;
  