【发布时间】:2012-08-17 00:11:30
【问题描述】:
我需要一个可以平滑滚动的字符串网格,而不是锁定在顶行/左列位置。当您滚动 TStringGrid 时,左侧可见列和顶部可见行沿顶部/左侧边缘对齐。我需要用户能够平滑滚动,而不是将这些边缘锁定到位。
我认为这不可能在 VCL TStringGrid(或TCustomGrid)中进行修改,因为它依赖于诸如TopRow、LeftCol、VisibleRowCount 等属性。我很确定我需要第三方控件,但如果可能的话,我很想使用TStringGrid,因为我已经有很多代码围绕着它。如果我确实需要第三方网格,那么我希望它可以像 TStringGrid 一样紧密地工作。
【问题讨论】:
-
我不知道你在这里要求什么。你是在说水平。还是垂直滚动? “卡入到位”或“将这些边缘锁定到位”是什么意思?我已经广泛使用
TStringGrid,但不知道你反对什么行为或你想在这里问什么。 -
当您垂直或水平滚动时,它一次移动一列/行。
-
但这就是网格的工作方式,例如 Excel 中使用的网格。网格中的部分数据行没有用处。如果您不希望出现这种行为,则说明您使用了错误的控件。
-
FMX 网格有一个“动画”属性,它与您似乎正在寻找的内容相匹配……但它不是 VCL……
-
@KenWhite 这取决于您打算如何使用它。当然,如果它只是显示文本,那么第一行就没用了。但是如果列是控件宽度的 3/4 呢?当我滚动过去时,它会逐个单元格而不是逐个像素地跳跃,而宽单元格会导致大跳跃。
标签: delphi delphi-xe2 tstringgrid