zoukankan      html  css  js  c++  java
  • Delphi7取消StringGrid的自动滚动

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


    终于自己找到解决办法了:
    拷贝Grids.pas到自己项目的目录,并通过Project Manager加入到自己工程项目中
    修改 
    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要自动滚动,另一个StringGrid不要自动滚动的办法:

    mianform.pas
     
    procedure TForm1.FormCreate(Sender: TObject);
      StringGrid1.CanAutoMove:=False;
      StringGrid4.CanAutoMove:=True;
     

    grids.pas
      TCustomGrid = class(TCustomControl)
      public
         {+} CanAutoMove   : Boolean ;   //涂磊+20161123
         
    procedure TCustomGrid.MoveCurrent(ACol, ARow: Longint; MoveAnchor
     
        if ( Show) and (CanAutoMove) then ClampInView(FCurrent);   //{*}涂磊20161123
  • 相关阅读:
    asp.net连接数据库,在web.config中配置数据库连接
    在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件如何解决
    centos7查看CPU的利用率
    阿里云云盘在线扩容
    微信和支付宝付款码条码规则(官方)
    微信和支付宝付款码条码规则
    IPFS与般若文海
    Moira果老星宗七政四余排盘软件下载
    Odoo 电子公章/印章模块
    playtoearn
  • 原文地址:https://www.cnblogs.com/tulater/p/6010767.html
Copyright © 2011-2022 走看看