我在TRAdioGroup中有两个单选按钮。它们应该如何工作的所有逻辑都很好。但是TRAdioGroup控制器周围有一个框架,我认为我可以使用边框属性或类似的东西来删除它。但是该控件似乎没有任何与边框/框架相似的属性。如何将控制器设置为不包含框架?
问问题
2896 次
3 回答
4
TRadioGroup
不支持您要查找的内容。将两个TRadioButton
组件放在 aTPanel
上。然后你可以让它看起来像你想要的那样。
于 2011-09-15T21:52:53.113 回答
4
我认为您不能隐藏标准单选框的边框。看起来您可以创建一个自定义后代并在正常绘制的情况下覆盖绘画,但这种方法可能更多地涉及主题支持。总的来说,走这条路听起来需要做很多工作。
下一个最明显的方法是用容器(例如面板)上的多个单独的单选按钮替换单选组。这会起作用并且是简单的代码,但它可能会变得混乱。似乎很多忙碌的工作收效甚微,我懒得寻找另一种选择。
有一个你可以使用的kludge。如果您将单选组放在面板上而不是直接放在表单(或其他背景)上,则可以使面板与单选组相比尺寸过小。您希望面板与无线电组的内部一样大,但不像边框那么大。然后将单选组的顶部和左侧设置为负数,使边框落在父面板之外。以这种方式看不到边框。
于 2014-03-01T09:04:30.743 回答
0
我知道这不是最佳实践,但我遇到了类似的问题,无法重新设计所有内容。所以我这样做只是为了隐藏边框(到目前为止效果很好)。
HANDLE Region = CreateRectRgn(3, 3, RadioGroup->Width-3, RadioGroup->Height-3) ;
SetWindowRgn(RadioGroup->Handle, Region, true);
于 2017-03-01T09:15:35.573 回答