如何隐藏TRadioGroup周围的边框

时间:2011-09-15 11:43:43

标签: c++builder c++builder-2010

我在 TRadioGroup 中有两个radiobuttons。他们应该如何工作的所有逻辑都很好。但是 TRadioGroup 控制器周围有一个框架我认为我可以使用 border 属性或类似的东西删除它。但是控件似乎没有任何与边框/框架有任何相似性的属性。如何将控制器设置为不包含框架?

3 个答案:

答案 0 :(得分:4)

TRadioGroup不支持您要找的内容。将两个TRadioButton组件放在TPanel上。然后你可以看看你想要的样子。

答案 1 :(得分:4)

我认为你不能隐藏标准广播组框的边框。看起来你可以创建一个自定义后代并在正常绘制时覆盖绘画,但这种方法可能会更多地涉及主题支持。总的来说,走这条路看起来很多工作。

下一个最明显的方法是用容器(如面板)上的许多单独的单选按钮替换无线电组。这会起作用,而且代码很简单,但它可能会变得混乱。似乎很多繁忙的工作收获甚微,而且我很懒,可以寻找其他选择。

你可以使用一个kludge。如果将无线电组放在面板上而不是直接放在窗体(或其他背景)上,则可以使面板与无线电组相比尺寸不足。您希望面板与收音机组的内部一样大,但不要像边框那么大。然后将广播组的顶部和左侧设置为负数,以使边框落在父面板之外。边界不可见这种方式。

答案 2 :(得分:0)

我知道这不是最佳做法,但我有类似的问题,无法重新设计所有内容。所以我这样做只是为了隐藏边框(到目前为止效果很好)。

HANDLE Region = CreateRectRgn(3, 3, RadioGroup->Width-3, RadioGroup->Height-3) ;

SetWindowRgn(RadioGroup->Handle, Region, true);