У меня есть RadioGroup со многими кнопками. Теперь, когда я добавляю элемент, они становятся все меньше и меньше. Как можно сделать их прокручиваемыми?
RadioGroup->Items->Count
TRadioGroup
Компонент не имеет встроенной полосы прокрутки, но вы можете поместить группу радио на TScrollBox
для аналогичного эффекта.
Вы можете использовать Buttons
коллекция для ссылки на каждую кнопку, например
RadioGroup->Buttons[0]->Height = 5;
RadioGroup->Buttons[1]->Top = RadioGroup->Buttons[0]->Top + 10;
Во всяком случае TComboBox
также может быть хорошим выбором.
TRadioGroup
изначально не поддерживает прокрутку. Однако вместо этого вы можете сделать следующее:
разместить TGroupBox
на вашем интерфейсе.
разместить TScrollBox
на TGroupBox
установите его Align
собственность на alClient
, И его BorderStyle
собственность на bsNone
,
разместить TRadioGroup
на TScrollBox
очисти ее Caption
свойство, и установите его Left
собственность на -2
И его Top
собственность на -15
(или что-то TRadioGroup.Font
установлен плюс несколько дополнительных пикселей). Это позиционирование необходимо, потому что вы не можете отключить TRadioGroup
границы или пространство, зарезервированное для его Caption
,
Твик TScrollBox.HorzScrollBar.Range
а также TScrollBox.VertScrollBar.Range
свойства, поэтому они не прокручиваются достаточно далеко, чтобы увидеть TRadioGroup
Правая и нижняя границы.
Таким образом, кнопки выглядят так, как будто они являются частью TGroupBox
, но с добавленными полосами прокрутки.