Delphi 将不带标题的复选框居中放置在TGridPanel中

Delphi 将不带标题的复选框居中放置在TGridPanel中,delphi,vcl,Delphi,Vcl,我在谷歌搜索了很多遍,恐怕我找不到答案 以下是我目前的情况: 我不希望这些复选框向左对齐,而是希望它们像这样居中(显然是经过Photoshop处理的): 有人知道如何用VCL实现这一点吗?谢谢 编辑: 这些组件位于TGridPanel内,无论出于何种原因,“左”和“上”属性都不会影响组件在单元中的位置。我还没有找到任何布局属性。TGridPanel内的控件自动居中对齐。如果将复选框的宽度减小到正确的值,则应按要求将其居中。请注意,如果您将尺寸减小过多,复选框将缩小。我设法找到了一个解决方案

我在谷歌搜索了很多遍,恐怕我找不到答案

以下是我目前的情况:


我不希望这些复选框向左对齐,而是希望它们像这样居中(显然是经过Photoshop处理的):


有人知道如何用VCL实现这一点吗?谢谢

编辑:
这些组件位于TGridPanel内,无论出于何种原因,“左”和“上”属性都不会影响组件在单元中的位置。我还没有找到任何布局属性。

TGridPanel内的控件自动居中对齐。如果将复选框的宽度减小到正确的值,则应按要求将其居中。请注意,如果您将尺寸减小过多,复选框将缩小。

我设法找到了一个解决方案,尽管它相当混乱。但是为了将来的参考,我必须为GridPanel中的每个单元格创建一个面板,这样我就可以设置面板的left padding属性来将我的复选框推到上面




是的,效率非常低,但这是迄今为止我得到的最好的。还修复了我希望在GridPanel中显示单元格轮廓的问题

这个算法适合你的情况吗
checkbox.left:=(cell.width-checkbox.width)div 2
I aplogice,我应该提到这些组件位于TGRIDSpanel中,无论出于何种原因,左侧和顶部属性对组件在单元格中的位置没有影响。恐怕这不起作用。由于TCheckbox组件具有标题属性,因此复选框始终位于文本的左侧或右侧。不管我把宽度设置成什么,它都没有什么区别。谢谢你的帮助。我查了Delphi10西雅图更新1,它确实有效。您使用的是什么Delphi版本?不幸的是,由于各种组件都不是最新的,我们被困在XE5中。如果复选框的
标题
为空,您应该能够将其
宽度设置为复选框图像的大小(或接近它,考虑复选框与其标题之间的间距)。另一种方法是找到第三方复选框控件,该控件允许禁用额外的间距。或者,从呈现复选框图像的
TCustomControl
创建自己的自定义复选框控件。或者只需使用
t图像
t输入框