问题是关于在 TStringGrid 控件中创建透明背景。我的想法是修改网格中默认创建的白色并使用空颜色,但我没有成功。我在这里分享迄今为止所做的事情。
研究该问题后,我能够通过“背景”部分中的“编辑自定义样式”修改不透明度属性,在 StringGrid 中显示一些透明度。此解决方案并不完美,因为它会影响关联的 TScrollBox 控件,但至少它是第一种方法。
最佳答案
FMX TStringGrid 的设计没有使其透明的属性。然而,使用样式可以实现透明度。如果您不愿意,则无需在整个应用程序上使用样式,但如果您愿意,则可以。
解决方案是根据以下内容对网格样式进行简单设置:
将 TStringGrid
添加到 Fmx
表单
- 右键单击网格并选择
编辑默认样式
- 样式编辑器打开。在
结构
中选择gridstyle - 背景 - 内容
- 在
content
的属性中,找到ClipParent
并设置为True
- 点击
应用并关闭
关闭样式编辑器
您现在有一个网格,其中标题下方的区域是透明的。如果您的行数(默认为 100)多于适合的行数,您还会在右侧看到滚动条。
您可以通过在 TStringGrid
属性中设置 Options.Header = False
来删除 header 。
我刚刚注意到您也找到了一些解决方案,但是依赖 Opacity
设置可能会很棘手,因为它可能还会影响网格的其他部分,也许在您的情况下,如果您选择内容
并调整其不透明度?.
关于delphi - 透明背景TStringGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59086807/