2014-12-11 9 views
1

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

ответ

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

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

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

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

+0

спасибо за ответ, но я не понимаю, что это кнопка, я создал RadioGroup1 и добавил детали с помощью добавления() метод, но когда я использовал RadioGroup1-> Кнопки [0] -> Height = 5; Я получил ошибку: высота не является членом TString – mrc

+0

[Кнопки] (http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.ExtCtrls.TCustomRadioGroup.Buttons) обеспечивает прямой доступ к отдельному [TRadioButton] (http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.StdCtrls.TRadioButton) объектов, созданных элементом управления. Вы можете получить доступ к отдельным объектам «TRadioButton», но вы не можете добавлять или удалять объекты «TRadioButton» (чтобы изменить список кнопок, измените свойство 'Items'). – manlio

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, но с добавлением скроллинга (ов).

screenshot

Смежные вопросы