TAdvMultiColumnDropDown & TAdvSmoothButton

Good morning to all,

in TAdvMultiColumnDropDown j set tne columns number via columns property and populate the row via items.Text property where each item is a row and each line of the text is a column text for that row .



With TAdvMultiColumnDropDown.Items.Add do // First row

begin

     Text.Clear;

     Text.Add('Column 1 text' ); // row 1. column 1

     Text.Add('Column 2 text' ); // row 1. column 2

     Text.Add('Column 3 text but more longer' ); // row 1. column 3

end;



There's a way to adjust the columns width with the text length ???

Now the column 3 display partial text.



In the column property each column has the property autosize:=True (but j think is only for the caption text).

Columnsizewithdropdown:=true, if is false the result is worst in other word the columns witdh are setted according to the text length but not with the columns caption, so if the text length is < then text caption, the capiton text is cutted (partialy showed).

Column text = 'Integer'

Text line ='0'

when drop down the column has the with of '0' and 'Integer' is cutted.



When dropdownsizeable is true and change the size the header and the footer have a redraw problems (the size corner is not redraw well) and the columns are not automatically resized according to the new size.



With TAdvSmoothButton j have this problem (but j'm sure who j miss some property), when j click over the button, i j move the cursor outside the button, the event click is always called.

There's a way to cancel the event i the mouse button is release outside the button ?



win 7 pro, Delphi XE2, latest component version.



Thank's for your help and sorry if j'm not explain better then this.



Daniele

When ColumnSizeWithDropDown = true, the column size will change automatically with the dropdown width (proportionally) 
When you want each column to autosize, set ColumnSizeWithDropDown = false and set AutoSize = true for each column.


Example:

begin
  AdvMultiColumnDropDown1.ColumnSizeWithDropDown := false;

  AdvMultiColumnDropDown1.Columns.Clear;
  AdvMultiColumnDropDown1.Columns.Add;
  AdvMultiColumnDropDown1.Columns.Add;
  AdvMultiColumnDropDown1.Columns.Add;


  with AdvMultiColumnDropDown1.Items.Add do // First row
  begin
     Text.Clear;
     Text.Add('Column 1 text' ); // row 1. column 1
     Text.Add('Column 2 text' ); // row 1. column 2
     Text.Add('Column 3 text but more longer' ); // row 1. column 3
  end;

  AdvMultiColumnDropDown1.Columns[0].AutoSize := true;
  AdvMultiColumnDropDown1.Columns[1].AutoSize := true;
  AdvMultiColumnDropDown1.Columns[2].AutoSize := true;
end;

With this initialization, I could not see a painting issue.


We could reproduce the TAdvSmoothButton issue and we'll fix this for the next update.

Hi Bruno,

thank's for your reply,



> When ColumnSizeWithDropDown = true, the column size will change automatically with the dropdown width (proportionally)



There's another property (DropdownWith) that, if all is settet for automatic width, is alway 0.

It's a very good thing that, if all is setted for automatc width, the dropdown with will be setted for the width that allows tho show all the grid, even is this means the screen width (max width of dropdown).

OK, is an extreme limit !!!!



Thank's for all



Good day



Daniele