透明背景 TStringGrid
Transparent background TStringGrid
问题是关于在 TStringGrid 控件中创建透明背景。我的想法是修改网格中默认创建的白色并使用空颜色,但我没有成功。我在这里分享到目前为止所做的事情。
在研究了这个问题之后,我能够通过背景部分中的 "Edit Custum Style" 修改不透明度 属性 在 StringGrid 中显示一些透明效果。此解决方案并不完美,因为它会影响关联的 TScrollBox 控件,但至少它是第一种方法。
FMX TStringGrid 的设计没有属性使其透明。但是,使用样式可以实现透明度。如果您不想,则不需要在整个应用程序上使用样式,但如果您愿意,也可以。
解决方法是在网格的样式中按照以下简单设置:
将 TStringGrid
添加到 Fmx
表单
- 右键单击网格 select
Edit Default style
- 样式编辑器打开。在
structure
selectgridstyle - background - content
- 在
content
的属性中,找到ClipParent
并设置为True
- 单击
Apply and Close
关闭样式编辑器
您现在有一个网格,其中 header 下方的区域是透明的。如果您的行数(默认为 100)多于适合的行数,您还会在右侧看到滚动条。
您可以通过在 TStringGrid
属性中设置 Options.Header = False
来删除 header。
我刚刚注意到您也找到了一些解决方案,但是依赖 Opacity
设置可能会很棘手,因为它可能还会影响网格的其他部分,也许在您的情况下,如果您 select content
并调整其不透明度?.
问题是关于在 TStringGrid 控件中创建透明背景。我的想法是修改网格中默认创建的白色并使用空颜色,但我没有成功。我在这里分享到目前为止所做的事情。
在研究了这个问题之后,我能够通过背景部分中的 "Edit Custum Style" 修改不透明度 属性 在 StringGrid 中显示一些透明效果。此解决方案并不完美,因为它会影响关联的 TScrollBox 控件,但至少它是第一种方法。
FMX TStringGrid 的设计没有属性使其透明。但是,使用样式可以实现透明度。如果您不想,则不需要在整个应用程序上使用样式,但如果您愿意,也可以。
解决方法是在网格的样式中按照以下简单设置:
将 TStringGrid
添加到 Fmx
表单
- 右键单击网格 select
Edit Default style
- 样式编辑器打开。在
structure
selectgridstyle - background - content
- 在
content
的属性中,找到ClipParent
并设置为True
- 单击
Apply and Close
关闭样式编辑器
您现在有一个网格,其中 header 下方的区域是透明的。如果您的行数(默认为 100)多于适合的行数,您还会在右侧看到滚动条。
您可以通过在 TStringGrid
属性中设置 Options.Header = False
来删除 header。
我刚刚注意到您也找到了一些解决方案,但是依赖 Opacity
设置可能会很棘手,因为它可能还会影响网格的其他部分,也许在您的情况下,如果您 select content
并调整其不透明度?.