полоса прокрутки — Прокрутка в C ++ Builder RadioGroup

У меня есть RadioGroup со многими кнопками. Теперь, когда я добавляю элемент, они становятся все меньше и меньше. Как можно сделать их прокручиваемыми?

1

Решение

  1. RadioGroup->Items->Count
  2. TRadioGroup Компонент не имеет встроенной полосы прокрутки, но вы можете поместить группу радио на TScrollBox для аналогичного эффекта.

    Вы можете использовать Buttons коллекция для ссылки на каждую кнопку, например

    RadioGroup->Buttons[0]->Height = 5;
    RadioGroup->Buttons[1]->Top = RadioGroup->Buttons[0]->Top + 10;
    

    Во всяком случае TComboBox также может быть хорошим выбором.

2

Другие решения

TRadioGroup изначально не поддерживает прокрутку. Однако вместо этого вы можете сделать следующее:

  1. разместить TGroupBox на вашем интерфейсе.

  2. разместить TScrollBox на TGroupBoxустановите его Align собственность на alClient, И его BorderStyle собственность на bsNone,

  3. разместить TRadioGroup на TScrollBoxочисти ее Caption свойство, и установите его Left собственность на -2 И его Top собственность на -15 (или что-то TRadioGroup.Font установлен плюс несколько дополнительных пикселей). Это позиционирование необходимо, потому что вы не можете отключить TRadioGroupграницы или пространство, зарезервированное для его Caption,

  4. Твик TScrollBox.HorzScrollBar.Range а также TScrollBox.VertScrollBar.Range свойства, поэтому они не прокручиваются достаточно далеко, чтобы увидеть TRadioGroupПравая и нижняя границы.

Таким образом, кнопки выглядят так, как будто они являются частью TGroupBox, но с добавленными полосами прокрутки.

Скриншот

2

По вопросам рекламы [email protected]