![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отключить полосу прокрутки в DBGrid? [D7]
4ward © (2004-04-09 13:32:00)сабж.
sniknik (2004-04-09 18:23:00) [1]хотя, если таблица маленькая действительно заметно, попробовал и заметил на большой тоже есть моменты при переходе с первой и последней записи и назад на них. раньше пробовал по середине бегал, не видно.
sniknik (2004-04-09 18:13:00) [2]tpa (09.04.04 17:51) [24]
сам слелаеш в аксессе (хотя не так уж много - 80мб всего)
> Balkon (09.04.04 17:35) [17]
наследник от грида с пустым событием должен помочь
TMyDBGrid = class(TDBGrid)
procedure WMMouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL;
end;
procedure TMyDBGrid.WMMouseWheel(var Msg: TWMMouseWheel);
begin
end;
Balkon (2004-04-09 17:52:00) [3]> Vlad На счет OnKeyDown я ошибся, он на колесо мышки не реагирует.
:)
tpa (2004-04-09 17:51:00) [4]
> sniknik © (09.04.04 17:45) [21]
С базой ? :)
Vlad (2004-04-09 17:48:00) [5]
> sniknik © (09.04.04 17:45) [21]
Да нет, я тебе верю, не в том базар ;-)
Если у тебя не мигает, а у других мигает, то такое решение проблемы, согласись, сомнительное...
Во всяком случае, универсальным назвать его нельзя.
> Balkon (09.04.04 17:35) [17]
На счет OnKeyDown я ошибся, он на колесо мышки не реагирует.
tpa (2004-04-09 17:47:00) [6]Проследите по исходникам скроллбар от StringGrid до DBGrid и увидите, что вертикальный скроллбар это не совсем скрол бар DBGrid, а дай Бог памяти DataLink. По этому ShowScrollBar(DBGrid1.Handle, SB_BOTH, False); оключает его, а при скроллинге он снова включается. По сути в DBGrid 2 вертикальных скроллбара.
sniknik (2004-04-09 17:45:00) [7]Vlad © (09.04.04 17:41) [19]
готов выслать тестовую прогу, как доказательство - не мигает. только придется с exe-шником, может от компиляции зависит.
YurikGl (2004-04-09 17:44:00) [8]TBGridEh не судьба использовать?
Vlad (2004-04-09 17:41:00) [9]
> Balkon (09.04.04 17:35) [17]
Реакции грида на кнопки отключаются на событии OnKeyDown.
> sniknik © (09.04.04 17:32) [16]
Обрати внимание на вертикальный скроллбар, он все время мигает при скроллинге. У меня помощнее твоего комп будет, но все равно мигает.
sniknik (2004-04-09 17:35:00) [10]> 1.OnPaint чего?:))))
спутал, в примерах видел(на королевстве) на DBGrid1DrawColumnCell, вот с ним, тут да у меня мигает.
Balkon (2004-04-09 17:35:00) [11]А можно ли отключить реакцию DBGrid на колесо прокрутки мыши?
DBGrid как-то странно реагирует на колесо мыши: (при включенном RowSelect) при прокручивании указатель меняет своё местоположение, но фактически набор с записи на запись не перемещается. :(
Извините за некоторое отступление от темы.
sniknik (2004-04-09 17:32:00) [12]скролирование как делаеш? если в гриде то у меня нет, 170тыс записей открываются в асинхронном режиме (т.е. идет постоянное добавление позиций) нажимаю и удерживаю стрелку вниз пытаюсь "догнать" конец таблицы - не мигает.
подключение через ADO к accecc базе - селерон 2000 не самая мошная тачка...
что сделать чтобы заметить?
tpa (2004-04-09 17:27:00) [13]
> sniknik © (09.04.04 17:18) [13]
> ты пробовал? или спутал на onPaint? читай внимательней.
1.OnPaint чего?:))))
2.Пробовал и тебе советую. Только палец с KeyDown не снимай.
Vlad (2004-04-09 17:25:00) [14]
> sniknik © (09.04.04 17:18) [13]
Мигание есть, особенно если быстро скроллировать записи, то оч.хорошо заметно.
sniknik (2004-04-09 17:18:00) [15]ты пробовал? или спутал на onPaint? читай внимательней.
tpa (2004-04-09 16:36:00) [16]
> sniknik © (09.04.04 16:04) [11]
Не красиво. Мигает даже на простенькой тавличке. А если заумная фильтрация и что-то ещё, полагаю мигание будет ещё заметнее.
sniknik (2004-04-09 16:04:00) [17]tpa (09.04.04 15:40) [9]
Vlad © (09.04.04 14:56) [6]
все класно отключается главное где отключать, и дышать на него можно и даже ломиком пошатывать. ;)
поставьте на событии
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);
end;
датасойрс естественно тот к которому грид привязан.
NAlexey (2004-04-09 15:52:00) [18]tpa (09.04.04 15:40) [9]
О да...
tpa (2004-04-09 15:40:00) [19]
> NAlexey © (09.04.04 15:27) [8]
> ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);
Только на грид после этого не дышать...
NAlexey (2004-04-09 15:27:00) [20]
ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);