【发布时间】:2015-02-09 19:06:40
【问题描述】:
我有带有许多按钮的 RadioGroup。现在,当我添加一个项目时,它们变得越来越小。如何使它们可滚动?
【问题讨论】:
标签: c++ scrollbar c++builder vcl radio-group
我有带有许多按钮的 RadioGroup。现在,当我添加一个项目时,它们变得越来越小。如何使它们可滚动?
【问题讨论】:
标签: c++ scrollbar c++builder vcl radio-group
TRadioGroup 本身不支持滚动。但是,您可以执行以下操作:
在您的 UI 上放置 TGroupBox。
在TGroupBox 上放置一个TScrollBox,将其Align 属性设置为alClient,并将其BorderStyle 属性设置为bsNone。
将TRadioGroup 放置在TScrollBox 上,清除其Caption 属性,并将其Left 属性设置为-2 并将其Top 属性设置为-15(或任何@ 987654337@ 设置为加上几个额外的像素)。之所以需要此定位,是因为您无法关闭TRadioGroup 的边框或为其Caption 保留的空间。
调整TScrollBox.HorzScrollBar.Range 和TScrollBox.VertScrollBar.Range 属性,使它们不会滚动到足以看到TRadioGroup 的右边框和下边框。
这样,按钮看起来就好像它们是 TGroupBox 的一部分,但添加了滚动条。
【讨论】:
RadioGroup->Items->CountTRadioGroup 组件没有嵌入式滚动条,但您可以将单选组放在TScrollBox 上以获得类似的效果。
您可以使用Buttons 集合来引用每个按钮,例如
RadioGroup->Buttons[0]->Height = 5;
RadioGroup->Buttons[1]->Top = RadioGroup->Buttons[0]->Top + 10;
无论如何TComboBox 也是一个不错的选择。
【讨论】:
TRadioButton 对象,但不能添加或删除TRadioButton 对象(要修改按钮列表,请更改Items 属性)。