Delphi - база знаний


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


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



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

type 
  TNoScrollBarDBGrid = class(TDBGrid) 
  private 
  protected 
    procedure Paint; override
  public 
  published 
  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;



Взято с Исходников.ru



Начало  Назад  Вперед