ListBox - Columns resize differently on various computers (same OS)

I have not been able to track this down and it’s causing training and use issues. On one persons computer, the Listbox columns resize in one manner, while on another a different manner. There are two ways that columns can resize (that I have seen). Let’s say you have 3 columns:

Name — City — State

Let’s also say that Name starts off to be 200 wide, City 100 and State 50.

The first method is that if I grab the resize handle between Name and City, and Shrink Name to be 100 wide, City resizes accordingly taking or giving space. In this case, Name would be resized to 100, City 200, State remains at 50, but all columns still have a total width of 350 combined.

The second method is that if I grab the resize handle between Name and City, and Shrink Name to be 100 wide, City and State do NOT resize, they move. So in the end, Name is 100, City is 100 and State is 50 for a combined total of 250.

The second method is the way it works on most peoples computers for me (in my Xojo app) but for a few people it is resizing according to the first method.

All of these computers are OS X and the app, of course, is written in Xojo.

Any ideas how I can make column resizing consistent?

How do you set up the column widths?

I would probably do “2*,1*,1*”

Markus,

I am not sure how that pertains to my problem of the same ListBox resizing in different manners on different users boxes, but it is interesting that you can have either behavior as I described above.

If you specify the column widths as 200*, 100*, 50* then you get the behavior #1… City will take/give from/to State.

If you specify the column widths as 200, 100, 50 then you get the behavior #2… City will simple move State right and left.

EDIT: Now, that actually did help me figure out what is going on. The ListBox column widths on the users computers affect by this issue are storing preferences such as 1.238473*, 1.32847*, etc… but on other peoples computer it is storing the column widths preferences as 100,500,600 …

So, my bug is in the way user preferences are stored.

Thanks Markus!

You can use percent,
you start with width 350 (200,100,50)

200 / 3.5 = 57
100 / 3.5 = 29
50 / 3.5 = 14
(rounded up everything)

set in the IDE 57%,29%,14%

It seems any time you use a relative specification, resizing the columns then takes or gives to the next column. When using an absolute pixel size, resizing simply moves the next columns to the right or left. The later is what my users are use to, so it is the functionality I wish to keep.

I wonder if this is a bug or if it was designed that way.