Как удалить вертикальную полосу прокрутки (скроллбар) из DBGrid
Создал Бог мyжчинy и отпyстил на землю.. Чеpез какое-то вpемя мужчина пpиходит и говоpит:
- Хочy тp@хаться ночью - и создал Бог емy женy.
Чеpез какое-то вpемя мужчина пpиходит и говоpит:
- Хочy тp@хаться днем - и создал Бог емy любовницy.
Чеpез какое-то вpемя мужчина пpиходит и говоpит:
- Хочy, - говоpит, - тp@хаться и днем и ночью - и создал Бог Windows.
Для этого необходимо переопределить метод Paint. Внутри метода Paint Вы должны вызвать API процедуру SetScrollRange для установки минимального и максимального значений скроллирования в ноль (тем самым запретив скроллбар), а затем вызвать inherited. Следующий код, это unit содержащий новый компонент под названием TNoScrollBarDBGrid, который делает это.
type
TNoScrollBarDBGrid = class(TDBGrid)
protectedprocedure Paint; override;
end;
procedureregister;
implementationprocedureregister;
begin
RegisterComponents('Samples', [TNoScrollBarDBGrid]);
end;
{ TNoScrollBarDBGrid }procedure TNoScrollBarDBGrid.Paint;
begin
SetScrollRange(Handle, SB_VERT, 0, 0, false);
inherited;
end;
Создание компонента TNoScrollBarDBGrid, который позволяет удалить вертикальную полосу прокрутки из DBGrid, путем переопределения метода Paint и вызова API процедуры SetScrollRange.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS