Seeking a way to show controls starting top left of dialog

DTP always shows controls starting at the bottom of the dialog. So, generally, I have to create the controls in reverse order so that the first is displayed at the top and successive controls are shown down the dialog. Controls have labels such as “Item 1”, “Item 2”, “Item 3”, … etc.

I have a new dialog which shows a large number of controls in columns. If the controls are created in reverse order, as usual, then they go down the dialog but the columns progress from right to left. If the controls are not reversed, they display from the bottom left up the dialog with columns created to the right of the starting point.

This example has controls in natural order:

Screenshot 2024-07-11 at 11.21.07 AM

This example has controls in reverse order:

Screenshot 2024-07-11 at 11.17.59 AM

Neither approach looks natural. Is there a way of showing controls starting at the top-left, progressing down the dialog with columns created to the right ?


I think I’ve found a way:

set theTop to 300
repeat with x from 1 to 40
	set show_label to ("Item " & x)
	set {aCheckbox, theTop} to create checkbox show_label left inset controlinset bottom (theTop - 40) max width 270
	set end of all_checkboxes to aCheckbox
	if theTop is less than 50 then
		set theTop to 300
		set controlinset to controlinset + 75
	end if
end repeat

That results in this:

Screenshot 2024-07-11 at 11.41.11 AM

Is there a better way ?