Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

как отключить полосу прокрутки в DBGrid?   Найти похожие ветки 

 
4ward   (2004-04-09 13:32) [0]

сабж.


 
tpa   (2004-04-09 14:06) [1]

Как-то стояла такая же задача. Вертикальная полоса жеско устанавливается на "дедушке" (не помню иерархию). Пришлось переписать два класса и вырезать эту полосу.


 
4ward   (2004-04-09 14:15) [2]

спасибо. полезу переписывать родительские компоненты...


 
Ozone ©   (2004-04-09 14:43) [3]

По-моему есть API"шная функция скрытия вссех скролов (хотб убей не помню какая...)


 
Vlad ©   (2004-04-09 14:50) [4]


> Ozone ©   (09.04.04 14:43) [3]

ShowScrollBar


 
Ozone ©   (2004-04-09 14:55) [5]

TO Vlad ©[4]

Точно :-)


 
Vlad ©   (2004-04-09 14:56) [6]


> Ozone ©   (09.04.04 14:55) [5]

Только вертикальную полосу с пом. этой функции все равно не отключишь.


 
tpa   (2004-04-09 14:59) [7]

FlatSB_SetScrollProp из FlatSB. Без проблем присоединяется например к ListBox. Кажется она же работает в StringGrid. В DBGrid можно поставить только на дедушку. По-чему не помню. :(


 
NAlexey ©   (2004-04-09 15:27) [8]

ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);


 
tpa   (2004-04-09 15:40) [9]


> NAlexey ©   (09.04.04 15:27) [8]
> ShowScrollBar(DBGrid1.Handle, SB_BOTH, False);

Только на грид после этого не дышать...


 
NAlexey ©   (2004-04-09 15:52) [10]

tpa   (09.04.04 15:40) [9]
О да...


 
sniknik ©   (2004-04-09 16:04) [11]

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;
датасойрс естественно тот к которому грид привязан.


 
tpa   (2004-04-09 16:36) [12]


> sniknik ©   (09.04.04 16:04) [11]


Не красиво. Мигает даже на простенькой тавличке. А если заумная фильтрация и что-то ещё, полагаю мигание будет ещё заметнее.


 
sniknik ©   (2004-04-09 17:18) [13]

ты пробовал? или спутал на onPaint? читай внимательней.


 
Vlad ©   (2004-04-09 17:25) [14]


> sniknik ©   (09.04.04 17:18) [13]

Мигание есть, особенно если быстро скроллировать записи, то оч.хорошо заметно.


 
tpa   (2004-04-09 17:27) [15]


> sniknik ©   (09.04.04 17:18) [13]
> ты пробовал? или спутал на onPaint? читай внимательней.

1.OnPaint чего?:))))
2.Пробовал и тебе советую. Только палец с KeyDown не снимай.


 
sniknik ©   (2004-04-09 17:32) [16]

скролирование как делаеш? если в гриде то у меня нет, 170тыс записей открываются в асинхронном режиме (т.е. идет постоянное добавление позиций) нажимаю и удерживаю стрелку вниз пытаюсь "догнать" конец таблицы - не мигает.
подключение через ADO к accecc базе - селерон 2000 не самая мошная тачка...
что сделать чтобы заметить?


 
Balkon   (2004-04-09 17:35) [17]

А можно ли отключить реакцию DBGrid на колесо прокрутки мыши?
DBGrid как-то странно реагирует на колесо мыши: (при включенном RowSelect) при прокручивании указатель меняет своё местоположение, но фактически набор с записи на запись не перемещается. :(

Извините за некоторое отступление от темы.


 
sniknik ©   (2004-04-09 17:35) [18]

> 1.OnPaint чего?:))))
спутал, в примерах видел(на королевстве) на DBGrid1DrawColumnCell, вот с ним, тут да у меня мигает.


 
Vlad ©   (2004-04-09 17:41) [19]


> Balkon   (09.04.04 17:35) [17]

Реакции грида на кнопки отключаются на событии OnKeyDown.

> sniknik ©   (09.04.04 17:32) [16]

Обрати внимание на вертикальный скроллбар, он все время мигает при скроллинге. У меня помощнее твоего комп будет, но все равно мигает.


 
YurikGl ©   (2004-04-09 17:44) [20]

TBGridEh не судьба использовать?


 
sniknik ©   (2004-04-09 17:45) [21]

Vlad ©   (09.04.04 17:41) [19]
готов выслать тестовую прогу, как доказательство - не мигает. только придется с exe-шником, может от компиляции зависит.


 
tpa   (2004-04-09 17:47) [22]

Проследите по исходникам скроллбар от StringGrid до DBGrid и увидите, что вертикальный скроллбар это не совсем скрол бар DBGrid, а дай Бог памяти DataLink. По этому ShowScrollBar(DBGrid1.Handle, SB_BOTH, False); оключает его, а при скроллинге он снова включается. По сути в DBGrid 2 вертикальных скроллбара.


 
Vlad ©   (2004-04-09 17:48) [23]


> sniknik ©   (09.04.04 17:45) [21]

Да нет, я тебе верю, не в том базар ;-)
Если у тебя не мигает, а у других мигает, то такое решение проблемы, согласись, сомнительное...
Во всяком случае, универсальным назвать его нельзя.

> Balkon   (09.04.04 17:35) [17]

На счет OnKeyDown я ошибся, он на колесо мышки не реагирует.


 
tpa   (2004-04-09 17:51) [24]


> sniknik ©   (09.04.04 17:45) [21]

С базой ? :)


 
Balkon   (2004-04-09 17:52) [25]

> Vlad На счет OnKeyDown я ошибся, он на колесо мышки не реагирует.

:)


 
sniknik ©   (2004-04-09 18:13) [26]

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;


 
sniknik ©   (2004-04-09 18:23) [27]

хотя, если таблица маленькая действительно заметно, попробовал и заметил на большой тоже есть моменты при переходе с первой и последней записи и назад на них. раньше пробовал по середине бегал, не видно.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.03 c
14-1082578618
Yanis
2004-04-22 00:16
2004.04.11
Что не так в этой странице?


14-1081776534
Nick-From
2004-04-12 17:28
2004.04.11
Что можно реально делать с Bluetooth и Wi-Fi в КПК?


3-1081831042
_новый_
2004-04-13 08:37
2004.04.11
Как записать в BLOB поле файл?


14-1079526339
nikitos
2004-03-17 15:25
2004.04.11
Как сделать форум?


9-1065241127
@ndrew
2003-10-04 08:18
2004.04.11
Спрайты и DelphiX...:(((