Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как отключить полосу прокрутки в DBGrid? [D7]


Страницы:   1 2

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);


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо