取消StringGrid的自动滚动

Posted 涂磊的小作,请赐教

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取消StringGrid的自动滚动相关的知识,希望对你有一定的参考价值。

StringGrid的Options的goRowSelect为false时,在点击右侧未显示完全的Cell,StringGrid会自动向左滚动,怎样设定,取消StringGrid的自动滚动啊?Delphi7版的

技术分享


 

终于自己找到解决办法了:
拷贝Grids.pas到自己项目的目录,
修改 
procedure TCustomGrid.MoveCurrent(ACol, ARow: Longint; MoveAnchor,
  Show: Boolean);
var
  OldSel: TGridRect;
  OldCurrent: TGridCoord;
begin
  if (ACol < 0) or (ARow < 0) or (ACol >= ColCount) or (ARow >= RowCount) then
    InvalidOp(SIndexOutOfRange);
  if SelectCell(ACol, ARow) then
  begin
    OldSel := Selection;
    OldCurrent := FCurrent;
    FCurrent.X := ACol;
    FCurrent.Y := ARow;
    if not (goAlwaysShowEditor in Options) then HideEditor;
    if MoveAnchor or not (goRangeSelect in Options) then
    begin
      FAnchor := FCurrent;
      if goRowSelect in Options then FAnchor.X := ColCount - 1;
    end;
    if goRowSelect in Options then FCurrent.X := FixedCols;
// if Show then ClampInView(FCurrent); {-20161029 将这一行注释掉}
    SelectionMoved(OldSel);
    with OldCurrent do InvalidateCell(X, Y);
    with FCurrent do InvalidateCell(ACol, ARow);
  end;
end;


 

以上是关于取消StringGrid的自动滚动的主要内容,如果未能解决你的问题,请参考以下文章

[Unity学习]使用ScrollRect实现自动滚动到底部显示实时消息,并在拖动的时候取消自动滚动,再次手动滑到底部,又继续自动滚动

[Unity学习]使用ScrollRect实现自动滚动到底部显示实时消息,并在拖动的时候取消自动滚动,再次手动滑到底部,又继续自动滚动

从上到下滚动时如何自动停止对项目的列表视图取消选择?

从 NIB 加载视图以用作滚动视图中的页面会取消自动布局

当我滚动列表视图单选按钮被自动选择或取消选择无法保持单选按钮的状态

WPF ItemsControl 取消选中item项,滚动条自动跑到该item顶部的问题