Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизПодскажите как сделать DBGrid без скролов Найти похожие ветки
← →
KyRo (2006-12-25 10:41) [0]Подскажите как избавить грид от скролбаров.
Я пытаюсь перекрыть метод пейнт вот таким способомunit NoScrollDBGrid;
interface
uses
SysUtils, Classes, Controls, Grids, DBGrids,windows;
type
TNoScrollDBGrid = class(TDBGrid)
private
{ Private declarations }
protected
procedure Paint; override;
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure TNoScrollDBGrid.Paint;
begin
SetScrollRange(Handle, SB_HORZ, 0, 0, false);
SetScrollRange(Handle, SB_VERT, 0, 0, false);
inherited;
end;
procedure Register;
begin
RegisterComponents("Samples", [TNoScrollDBGrid]);
end;
end.
Таким образом у меня получилось избавится от вертикального скрола , а от горизонтального нет !!
Подскажите как убрать горизонтальный скрол ?
← →
Desdechado © (2006-12-25 12:55) [1]
EnableScrollBar( gridAbTerms.Handle, SB_VERT, ESB_DISABLE_BOTH );
ShowScrollBar( gridAbTerms.Handle, SB_VERT, False );
← →
KyRo (2006-12-25 13:31) [2]Да помогло скролы убрались но при этом появилось какое то неприятное мерцание компонента во время пролистывания записей !!
Можно ли как то его убрать ?
← →
allrussia © (2006-12-25 16:16) [3]KyRo
попробуй
DBGrid1.DoubleBuffered:=true;
← →
KyRo (2006-12-25 16:36) [4]
> allrussia © (25.12.06 16:16) [3]
> KyRo
> попробуй
> DBGrid1.DoubleBuffered:=true;
Помогло спасибо .
Но появился еще один вопрос !
Когда быстро пролистываеш список записей в гриде то все равно видно скрол ! Он сначала прорисовывается , а потом исчезает , но все это он делает очень быстро.
Можно ли сделать так что бы грид вообще его не рисовал ?
← →
allrussia © (2006-12-25 19:57) [5]KyRo
poprobui sleduuschee:
V papke Delphi\Source\Vcl vozmi fail
Grids.pas naidi tam strochku
FScrollBars := ssBoth;
pereimenui ee v
FScrollBars := ssNone;
i sohrani Grids.pas v papku
Delphi\Lib
teper tebe uzhe ne nado budet vse chto ranshe tut pisali Desdechado i ya
← →
rar © (2006-12-25 20:34) [6]Попробуй так
TNewDBGrid(DBGRidFind).ScrollBars:=ssVertical;
← →
KyRo (2006-12-27 17:23) [7]
> poprobui sleduuschee:
>
> V papke Delphi\Source\Vcl vozmi fail
> Grids.pas naidi tam strochku
> FScrollBars := ssBoth;
> pereimenui ee v
> FScrollBars := ssNone;
> i sohrani Grids.pas v papku
> Delphi\Lib
>
> teper tebe uzhe ne nado budet vse chto ranshe tut pisali
> Desdechado i ya
Это конечно хорошо . Но так у меня вообще не в каком гриде их не будет , а мне надо в некоторых !
← →
Desdechado © (2006-12-27 18:20) [8]я [1] делал после открытия датасета
при этом не замечал, чтобы моргало
← →
allrussia © (2006-12-28 00:17) [9]KyRo (27.12.06 17:23) [7]
Это конечно хорошо . Но так у меня вообще не в каком гриде их не будет , а мне надо в некоторых !
Тебе же Desdechado уже писал:
в каких надо делаешь
ShowScrollBar( dbgrid1.Handle, SB_BOTH, True )
← →
KyRo (2006-12-28 11:11) [10]
> Desdechado © (27.12.06 18:20) [8]
> я [1] делал после открытия датасета
> при этом не замечал, чтобы моргало
Если быстрор прокручивать то получается что грид сначала рисует скрол , а потом его убирает. Это происходит быстро но если пролистывать большой набор данных то это видно !
← →
Desdechado © (2006-12-28 11:23) [11]Я и на больших пробовал на слабых машинах.
Но я не понимаю, зачем "быстро прокручивать большой набор данных"?
Зачем он тогда большой? Только чтобы прокручивать?
Не проще ли ограничить до читаемого размера?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.051 c