Версия для печати

Как удалить вертикальную полосу прокрутки (скроллбар) из DBGrid

Оцените материал
(0 голосов)

Как удалить вертикальную полосу прокрутки (скроллбар) из DBGrid

Для этого необходимо переопределить метод Paint. Внутри метода Paint Вы должны вызвать API процедуру SetScrollRange для установки минимального и максимального значений скроллирования в ноль (тем самым запретив скроллбар), а затем вызвать inherited. Следующий код, это unit содержащий новый компонент под названием TNoScrollBarDBGrid, который делает это.

type
  TNoScrollBarDBGrid = class(TDBGrid)
  protected
    procedure Paint; override;
end;
 
procedure register;
 
implementation
 
procedure register;
begin
  RegisterComponents('Samples', [TNoScrollBarDBGrid]);
end;
 
{ TNoScrollBarDBGrid }
 
procedure TNoScrollBarDBGrid.Paint;
begin
  SetScrollRange(Handle, SB_VERT, 0, 0, false);
  inherited;
end;