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

解决方案 »

  1.   

    unit NoScrollBarDBGrid;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Grids, DBGrids;type
      TNoScrollBarDBGrid = class(TDBGrid)
      private
        { Private declarations }
      protected
        procedure Paint; override;
      public
        { Public declarations }
      published
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [TNoScrollBarDBGrid]);
    end;
    procedure TNoScrollBarDBGrid.Paint;
    begin
      SetScrollRange(Handle, SB_VERT, 0, 0, false);
      inherited;
    end;end.
      

  2.   

    以上是一个你要的控件,安装后放在Samples页下!
      

  3.   

    上面那个是去竖着的条,这个是全去
    unit NoScrollBarDBGrid;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Grids, DBGrids;type
      TNoScrollBarDBGridAll = class(TDBGrid)
      private
        { Private declarations }
      protected
        procedure Paint; override;
      public
        { Public declarations }
      published
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [TNoScrollBarDBGridAll]);
    end;
    procedure TNoScrollBarDBGridAll.Paint;
    begin
      SetScrollRange(Handle, SB_VERT, 0, 0, false);
      SetScrollRange(Handle, SB_HORZ, 0, 0, false);
      inherited;
    end;
      

  4.   

    ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);
      

  5.   

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

  6.   

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