我在DBGrid里正好满屏显示20条记录,可是垂直方向还是有滚动条,根本就没有必要,请问我怎么能把它屏蔽掉?

解决方案 »

  1.   

    方法一、在你的单元文件中
    type
      TForm1 = class(TForm)
    上面加入
    type 
      TCGrid= class ( TCustomGrid)
    end;
    然后再form的onshow事件中:
      TCGrid(self.DBGrid1).scrollbars:=ssNone;
    就可以了。
    方法二、
    ShowScrollBar(DBGrid.Handle, SB_BOTH ,false);
    ShowScrollBar(ListView1.Handle, SB_VERT, False); //隐藏纵向滚动条
    ShowScrollBar(ListView1.Handle, SB_HORZ, False); //隐藏横向滚动条
      

  2.   

    谢谢上面老兄的指点,可是我在用的时候遇到点问题,帮我看看:
        我用第一种方法,把水平滚动条给屏蔽了,跟我的要求正好相反;我用第二种方法,把
      ShowScrollBar(DBGrid1.Handle,SB_VERT, False);
    加在show函数里,运行程序什么都没变,还是两边有滚动条?问题出在哪里了?
      

  3.   

    procedure TForm2.Query1BeforeScroll(DataSet: TDataSet);
    begin
    ShowScrollBar(DBGrid1.Handle, SB_VERT, false);
    end;procedure TForm2.Query1AfterScroll(DataSet: TDataSet);
    begin
    ShowScrollBar(DBGrid1.Handle, SB_VERT, false);end;这种方法滚动条会闪烁,效果是很好
      

  4.   

    加在query的beforescroll里面就可以了,
    上面说错了,效果不是很好
      

  5.   

    我照 wlhtake(正在调试) 做了,的确存在滚动条会闪烁的现象。或者我把
      TCGrid(self.DBGrid1).ScrollBars :=  ssBoth ;
       加在 show 函数里面,可以实现无垂直滚动条,但是也有闪烁的现象,怎么样能不出现呢?高手帮我看看,弄完我就结帐!
      

  6.   

    前提是:最右边不显示任何东西。
    最简单的方法是:把 dbgrid 控件挪进去一块,达到的效果即可。
      

  7.   

    呵呵,这个方法确实挺有意思,可是我把 dbgrid  挪进去以后,水平滚动条的右箭头也跟着进去了,正好鼠标点不上,这样也不太好吧?