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

Вниз

Скролл "колесиком" в DBGrid работает только в видимой части грида   Найти похожие ветки 

 
Michael5   (2005-10-06 20:52) [0]

Несмотря на то, что с помощью полосы прокрутки нормально проматывается. А мышью выделение переходит от одной ячейки к другой только в пределах изображенных в данный момент в гриде части данных, и не заставляет его проматываться...
Подскажите пожалуйста!


 
Michael5   (2005-10-06 20:53) [1]

Подскажите, как заставить его проматываться мышью...


 
Loginov Dmitry   (2005-10-06 20:59) [2]

Мышка глючит с DBGrid (DBGrid - наследник своего родителя:), и в нем просто забыли обработать перемотку колесиком. Смирись :)


 
Michael5   (2005-10-06 21:01) [3]

Ничего себе! :)
Стало быть, свой компонент делать...


 
sniknik ©   (2005-10-06 21:10) [4]

угу, 5 строк дописать. тяжко тебе придется... ;)

type
 TMyDBGrid = class(TDBGrid);

 TForm1 = class(TForm)
   ...
 private
   procedure GrigMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
   ...
 end;

procedure TForm1.GrigMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
 with TDBGrid(Sender).DataSource.DataSet do
 if Active then begin
   if WheelDelta > 10 then Prior;
   if WheelDelta < -10 then Next;
   Handled:= true;
 end;                            
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 TMyDBGrid(DBGrid1).OnMouseWheel:= GrigMouseWheel;
end;


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


 
sniknik ©   (2005-10-06 21:15) [5]

кстати если будеш это как компанент оформлять не забудь еще проверку на то, что у грида вообще источник есть (DataSource)
здесь > with TDBGrid(Sender).DataSource.DataSet do
а можно и перестраховаться и еще у него датасет проверить ;)


 
Michael5   (2005-10-06 21:15) [6]

Спасибо большое :)
Стану в чем-нибудь мастером - тоже буду помогать людям...


 
Michael5   (2005-10-06 21:15) [7]

[5]

Ага, учту!


 
jiny   (2005-10-06 21:30) [8]

в принципе можно и DbGridEh установить - более удобен в настройках, нет проблем с "колесиком" и куча всяких дополнительных наворотов.


 
Michael5   (2005-10-06 21:50) [9]

То ли у меня руки кривые, то ли что, но пробовал я этот компонент - какие-то сложности были, глюки, например, мерцание грида, если добавляешь bmp в ячейку грида (могу путать DbGridEh с Rx библиотекой)... И вообще не идеальный компонент, в своем виде. Хочется сделать такой же, но свой, и доработать... Что лишний раз доказывает, что свое, родное (пусть иногда и кривое) не заменить чужим :) Дело вкуса.


 
jiny   (2005-10-07 09:55) [10]

Скорее всего ты чего то путаешь, у меня уже 3 проекта на DbGridEh написано и ни один не глючит в части грида.


 
Германн ©   (2005-10-07 15:54) [11]

2 sniknik ©   (06.10.05 21:10) [4]

>кстати там не забыли, там просто так оригинально обрабатывают.

Не. Именно забыли переопределить процедуры DoMouseWheelUp & DoMouseWheelDown.



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
14-1130409549
Антоний
2005-10-27 14:39
2005.11.20
Вопрос про контроль трафика с сервера Win2003Server


4-1127114536
Руслан
2005-09-19 11:22
2005.11.20
А можно ли программно из Windows


4-1126932892
Наиль
2005-09-17 08:54
2005.11.20
Определение экранных координат текстового курсора


4-1126989851
NikNet
2005-09-18 00:44
2005.11.20
Запрет на выключение/перезагрузки, компьютера


2-1131018738
Woolen
2005-11-03 14:52
2005.11.20
Непонятное поведение строк