Delphi 如何在水平滚动上进行网格刷新
几个小时后,我在这里或其他地方都找不到关于这个问题的任何参考资料。 问题在于Android和Windows的多设备应用程序(因此FMX不是VCL)(我不知道iOS的情况) 设置: 在表单上放置网格(Delphi 如何在水平滚动上进行网格刷新,delphi,scroll,grid,firemonkey,delphi-xe7,Delphi,Scroll,Grid,Firemonkey,Delphi Xe7,几个小时后,我在这里或其他地方都找不到关于这个问题的任何参考资料。 问题在于Android和Windows的多设备应用程序(因此FMX不是VCL)(我不知道iOS的情况) 设置: 在表单上放置网格(TGrid或TStringGrid)。 通过添加列使网格大于表单,确保需要水平滚动。 在网格选项中,选择绘制ColLines、RowLines和AlternatingRowBackground。 RowSelect也可以为True,一次高亮显示整行 问题:水平滚动时,网格先前隐藏的部分不显示任何行线或
TGrid
或TStringGrid
)。
通过添加列使网格大于表单,确保需要水平滚动。
在网格选项中,选择绘制ColLines
、RowLines
和AlternatingRowBackground
。
RowSelect
也可以为True,一次高亮显示整行
问题:水平滚动时,网格先前隐藏的部分不显示任何行线或背景(柯林斯
画得很好),也不从行选择
突出显示。
无论列的限制如何,都会剪切着色和绘图。调整窗口大小以适应网格(在Windows操作系统上)时,颜色和线条会很好地绘制在先前隐藏的列上
我已经尝试了OnDrawColumnCell
和OnHScrollChange
事件:
StringGrid.Repaint,Self.Invalidate
:无结果
Application.HandleMessage,Application.ProcessMessages
:减速
应用程序
StringGrid.Canvas.Clear(0)
:放慢速度,搞乱应用程序
- 调试版本和发布版本之间的更改:无结果
- 更改
网格。将与客户端对齐,无、适合、内容、比例:无结果
请问,有人知道当水平滚动时,如何使网格显示如预期的那样吗
编辑日期:2016年8月12日:德尔福10.1(柏林)与此无关好的,我找到了。终于
要使高亮显示在选择整行(甚至隐藏部分)时扩散到整行,必须使用样式
我没有深入了解样式编辑,但这里有一些内容:
- 使用表单上的网格组件(
TGrid
,TStringGrid
),右键单击网格并选择编辑默认样式或编辑自定义样式,以打开FireMonkey样式设计器窗口(有关详细信息,请参阅)
- 在结构视图中,转到:
gridstyle>background>content>selection
- 在对象检查器中,
选择
的对齐
属性默认为无
:这就是高亮显示不会扩展到整行的原因李>
- 将该值更改为
水平
,即可完成操作。其他值不会起作用。(内容
,客户端
:突出显示整个网格)(适合
,居中
:突出显示在网格上居中)
令人惊讶的是,在Delphi10.1中,默认配置是相同的,但是如果需要,选择正确地分布在整行上
注:gridstyle
为TLayout
<代码>背景
是树形
<代码>内容是TLayout
<代码>选择是TRectangle
您使用的是什么版本的Delphi?我对Delphi XE7更新1和Delphi XE8有同样的问题。我使用的是Delphi XE7更新1。我已经编辑了我的帖子。我已经为你添加了相应的标签:)我试了很多,但我有同样的问题。我建议你看看这里:@whosrdaddy:谢谢你的标记和编辑