DBGrid没有ScrollBars属性,如果我要DBGrid不显示水平滚动条及垂直滚动条,有什么好方法

解决方案 »

  1.   

    使用TStringGrid代替它,scrollbasr设为ssnone
      

  2.   

    为了除去TDBGrid部件的垂直滚动条,你必须重载它的Paint方法。在Paint事件中你必须调用SetScrollRange API过程来把最小和最大的滚动值设成零(这样会禁止滚动条),然后调用继承的Paint。下面的代码是一个包含称为TNoScrollBarDBGrid,能完成此工作的部件的单元。type
      TNoScrollBarDBGrid = class(TDBGrid)
      private
      protected
        procedure Paint; override;
      public
      published
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [TNoScrollBarDBGrid]);
    end;{ TNoScrollBarDBGrid }procedure TNoScrollBarDBGrid.Paint;
    begin
      SetScrollRange(Handle, SB_VERT, 0, 0, false);
      inherited;
    end;抄来的,呵呵,你看看可不可以
      

  3.   

    我已经用ShowScrollBar(DBGrid->Handle, SB_BOTH, false)解决了问题, 谢谢!
      

  4.   

    把行列数量调整到不显示出ScrollBar不就行了,不然的话其它的数据你怎么查看?
      

  5.   

    在onDrawDataCell 事件中添加如下代码:
    SetScrollRange(DBGrid1.Handle, SB_VERT, 0, 0, false);我试过的没问题。