在数据源的afterscroll事件里添加代码:
adotable1.showscrollbar(dbgrid1,handle,sb_both,false);
这个是程序运行后不显示滚动条。
如果设计时就没有编程比较麻烦,可参见:
http://www.csdn.net/expert/topic/795/796000.xml?temp=.5998346

解决方案 »

  1.   

    我怎么找不到afterscroll事件哦?在怎么地方??
      

  2.   

    我用的是ADOquery ,没有showscrollbar的属性啊~~~  怎么办???谢谢
      

  3.   

    为了除去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;
      

  4.   

    在运行期间怎样消除滚动条呢?我用的是ADOquery,如何才能在在数据源的afterscroll事件里添加代码:
    adotable1.showscrollbar(dbgrid1,handle,sb_both,false);使用类似的语句呢?谢谢
      

  5.   

    可以直接在ADOQuery1的AfterScroll事件里添加如下代码:  
      ShowScrollBar(DBGrid1.Handle, SB_VERT, false);
    即可。
      

  6.   

    或者,直接加个按钮,写以下语句也可,你试试:
      ShowScrollBar(DBGrid1.Handle, SB_VERT, false);