2

我需要一个可以平滑滚动的字符串网格,而不是锁定在顶行/左列位置。当您滚动 aTStringGrid时,左侧可见列和顶部可见行沿顶部/左侧边缘对齐到位。我需要用户能够平滑滚动,而不是将这些边缘锁定到位。

我认为这不可能在 VCL 中修改TStringGrid(或TCustomGrid就此而言),因为它依赖于诸如TopRowLeftColVisibleRowCount等属性。我很确定我需要第三方控件,但我会如果可能的话,我喜欢使用TStringGrid,因为我已经有很多代码围绕着它。如果我确实需要第三方网格,那么我希望它能够像TStringGrid.

4

2 回答 2

6

简短的回答是否定的,你不能像素滚动 a TStringGrid。您可以使用TScrollBox. 您可以在 中放置一个网格TScrollBox,使网格足够大以容纳所有行和列,并关闭其滚动条,但某些操作(如键盘导航)将不起作用。

其他替代方法是使用TVirtualTree网格模式或TListView. 两者都有你想要的这个像素滚动。

于 2012-08-17T01:27:42.280 回答
0

我正在寻找类似的东西。不幸的是,你不能用 Borland 的代码做到这一点,但 Lazarus 可以做到 逐像素滚动 TStringGrid
你可能想看看他们的代码。

于 2013-02-12T19:04:52.747 回答