如何在 FireMonkey TListView 对象上绘制边框

How to draw a border on a FireMonkey TListView object

如果将 FMX.TStringGrid 拖放到新的 FireMonkey 表单上,网格将显示为细边框。

如果将 FMX.TTListView 拖放到表单上,则没有边框。

这两个组件似乎都没有 属性 用于 enabling/disabling 边框,或设置边框颜色或宽度。

我想这是由于跨平台的要求,那么应该怎么做呢?我需要添加一个面板,然后将列表视图放在面板内吗?或者它与风格有关,因为需要 TStyleBook?

是的,TListView 没有边框。 Firemonkey 提供了几种向任何可视控件添加边框的方法。为了添加一个简单的边框,我不会尝试更改样式。

在我看来,最简单的解决方案是将调色板(来自 Shapes)中的矩形放入表单中。 在矩形中将 Stroke 设置为所需的颜色和厚度。 下一步,转到设计器中的结构视图并将 Listview 作为子元素移动到此矩形中。将列表视图的 Align 属性 更改为 Client。 要再次显示边框线,必须将矩形的Padding(bottom, left, right, top)的值全部设置为矩形描边的值thickness。

如果您愿意,还可以在矩形或列表视图控件上添加 TShadowEffect