透明背景 TStringGrid

Transparent background TStringGrid

问题是关于在 TStringGrid 控件中创建透明背景。我的想法是修改网格中默认创建的白色并使用空颜色,但我没有成功。我在这里分享到目前为止所做的事情。

在研究了这个问题之后,我能够通过背景部分中的 "Edit Custum Style" 修改不透明度 属性 在 StringGrid 中显示一些透明效果。此解决方案并不完美,因为它会影响关联的 TScrollBox 控件,但至少它是第一种方法。

FMX TStringGrid 的设计没有属性使其透明。但是,使用样式可以实现透明度。如果您不想,则不需要在整个应用程序上使用样式,但如果您愿意,也可以。

解决方法是在网格的样式中按照以下简单设置:

TStringGrid 添加到 Fmx 表单

  • 右键单击网格 select Edit Default style
  • 样式编辑器打开。在structureselectgridstyle - background - content
  • content的属性中,找到ClipParent并设置为True
  • 单击 Apply and Close 关闭样式编辑器

您现在有一个网格,其中 header 下方的区域是透明的。如果您的行数(默认为 100)多于适合的行数,您还会在右侧看到滚动条。

您可以通过在 TStringGrid 属性中设置 Options.Header = False 来删除 header。


我刚刚注意到您也找到了一些解决方案,但是依赖 Opacity 设置可能会很棘手,因为它可能还会影响网格的其他部分,也许在您的情况下,如果您 select content 并调整其不透明度?.