Форум: "Базы";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизВопрос по компоненту DBGrid Найти похожие ветки
← →
Kelvin (2004-01-27 19:15) [0]Как избавиться от вертикальной полосы полосы прокрутки в DBGrid"e? Точнее как сделать, чтобы она появлялась по мере надобности (как в ListBox"e)? И еще один вопрос: как растянуть первое поле на всю область DBGrid?
← →
sergvc (2004-01-28 14:25) [1]Удаление вертикальной полосы прокрутки у 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.
← →
Kelvin (2004-01-29 18:24) [2]Спасибо. Все работает, но только происходит мерцание при прорисовке. Можно ли как нибуть от этого избавиться?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c