If you don't want the TRadioGroup border and caption you can also get an automatic two-column layout in a panel by using the ChildSizing property. In fact, that's the way how TRadioGroup does the layout internally. Just set ChildSizing.Layout to cclLeftToRightThenTopToBottom and .ControlsPerLine to 2. The distance between the columns is determined by .HorizontalSpace, left/right margin to the container border by .LeftRightSpacing. Additional control to positioning is given by Enlarge|ShrinkHorizontal|Vertical (too lazy to describe...). Important: the radiobuttons must not be aligned (Align = alNone), the can only have their standard anchors ([akLeft, akTop]). The order of the radiobuttons is determined by the order in which they were added; later rearrangement is possible by calling the "Z Order" context menu. If you finally set the AutoSize of the parent to true you have a very robust layout of the radiobuttons so that they will never overlap.