Автор темы
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
Автор темы
Он прокручивает .. только имеет три состояния всего... нчало.. середина и конец прокрутки...
Такая проблема есть.. используйте другой компонент грида ..
Надеюсь я Вас правильно понял ...
Такая проблема есть.. используйте другой компонент грида ..
Надеюсь я Вас правильно понял ...
А если их больше 100.000?
я уже много разных компонентов Grid -ов перепробовал, но ни у одного этой функции нет.
(Для D-7)
я уже много разных компонентов Grid -ов перепробовал, но ни у одного этой функции нет.
(Для D-7)
Если их даже и 100.000, то скорость работы такой программы будет ужасно медленная. Не надо придумывать колесо. И переходите на 10 версию, не понимаю упорства фанатов 7-ой
версии, да хороша, но всеравно время идет и баги 7-ой версии Борланд править не
собирается. Больше вероятнось , что он исправит баги 10-Й
версии, да хороша, но всеравно время идет и баги 7-ой версии Борланд править не
собирается. Больше вероятнось , что он исправит баги 10-Й
Для: DZX
7-ка общепризнанная самая удачная версия Дельфи.. а 2006 это в общем-то жалкие попытки Борлянда вскочить в вагончик .NET технологии...
Так что смысле переходить на версию выше 7-ой нет никакого...
А насчёт 100.000 записей я вообще-то имел ввиду в кавычках.... но как-то никто и не понял этого...
Если Вам надо свой грид .. используйте виртуальные контролы и в нём уже отображайте сами содержимое курсора...
7-ка общепризнанная самая удачная версия Дельфи.. а 2006 это в общем-то жалкие попытки Борлянда вскочить в вагончик .NET технологии...
Так что смысле переходить на версию выше 7-ой нет никакого...
А насчёт 100.000 записей я вообще-то имел ввиду в кавычках.... но как-то никто и не понял этого...
Если Вам надо свой грид .. используйте виртуальные контролы и в нём уже отображайте сами содержимое курсора...
Вообще то вопрос решается достаточно просто, вот один из вариантов:
Собирал в Delphi6.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
private
{ Private declarations }
procedure MouseWheelHandler(var Message: TMessage);override;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MouseWheelHandler(var Message: TMessage);
var
p:TPoint;
begin
GetCursorPos(p);
If WindowFromPoint(p)=DBGrid1.Handle then
begin
If Message.WParam<0 then
DBGrid1.Perform(WM_VSCROLL, SB_LINEDOWN, 0)
else
DBGrid1.Perform(WM_VSCROLL, SB_LINEUP, 0);
end;
end;
end.
Для: zubr
Все работает...
Большое спасибо за помощь со скролингом в DBGrid-е
:lol:
Я проставляюсь пивом по URL link removed
Все работает...
Большое спасибо за помощь со скролингом в DBGrid-е
Я проставляюсь пивом по URL
Таким же образом можно сделать и горизонтальный скролл. Определяем положение курсора - если в полосе горизонтальной прокрутки посылаем WM_HSCROLL. Гораздо удобнее, чем мышью щелкать, имхо.
Ещё по теме
4
Поделиться: