在C ++ Builder RadioGroup中滚动

时间:2014-12-11 10:23:22

标签: c++ scrollbar c++builder vcl radio-group

我有RadioGroup有很多按钮。现在,当我添加一个项目时,它们会变得越来越小。怎么可以让它们滚动?

2 个答案:

答案 0 :(得分:3)

TRadioGroup本身不支持滚动。但是,您可以做的是:

  1. 在您的用户界面上放置TGroupBox

  2. TScrollBox放置在TGroupBox上,将其Align属性设置为alClient,将其BorderStyle属性设置为bsNone

  3. TRadioGroup放在TScrollBox上,清除其Caption属性,并将其Left属性设置为-2及其{{1} } {}为Top的属性(或-15设置为加上一些额外像素的任何内容)。需要进行此定位是因为您无法关闭TRadioGroup.Font的边框或为其TRadioGroup保留的空间。

  4. 调整CaptionTScrollBox.HorzScrollBar.Range属性,使其无法滚动到足以看到TScrollBox.VertScrollBar.Range的右下边框。

  5. 这样,按钮看起来好像是TRadioGroup的一部分,但是添加了滚动条。

    screenshot

答案 1 :(得分:2)

  1. RadioGroup->Items->Count
  2. TRadioGroup组件没有嵌入式滚动条,但您可以将广播组放在TScrollBox上以获得类似效果。

    您可以使用Buttons集合来引用每个按钮,例如

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

    无论如何,TComboBox也是一个不错的选择。