Советы по Delphi


DBGrid без вертикальной полосы прокрутки


Удаление вертикальной полосы прокрутки у TDBGrid

Для удаления вертикальной полосы прокрутки из компонента TDBGrid, вам необходимо перекрыть метод Paint. Внутри метода Paint вам необходимо вызвать процедуру API SetScrollRange, чтобы установить минимальные и максимальные значения полосы прокрутки в ноль (это запретит вывод полосы прокрутки), после чего вызвать родительский метод Paint. Код, приведенный ниже - новый компонент, названный TNoVertScrollDBGrid, у которого отсутствует вертикальная полоса прокрутки. Вы можете скопировать этот код в файл с именем NEWGRID.PAS и добавить данный компонент в палитру компонентов.

    unit Newgrid;

interface

uses

WinTypes, WinProcs, Classes, DBGrids;


type
TNoVertScrollDBGrid = class(TDBGrid) protected procedure Paint; override; end;
procedure Register;

implementation

procedure
TNoVertScrollDBGrid.Paint;
begin
SetScrollRange(Self.Handle, SB_VERT, 0, 0, False); inherited Paint; end;

procedure Register;
begin
RegisterComponents('Data Controls', [TNoVertScrollDBGrid]); end;
end.

[000629]



Содержание раздела