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

Вниз

Проблемка только одна - колесо мышки   Найти похожие ветки 

 
ponyol   (2003-07-07 17:38) [0]

Вопрос короткий - можно ли заставить работать колесо мышки в делфи 3, в частности в DBGrid ?


 
Юрий Зотов ©   (2003-07-07 17:56) [1]

Можно, только в обработчике WM_MOUSEWHEEL скроллировать надо DataSet, а не сам DBGrid.


 
ponyol   (2003-07-07 19:18) [2]

Это радует, но вот только у меня не получается работа с WM_MOUSEWHEEL, левая и правая кнопки - все нормально, а вот
"колесо" форма и грид не видят, вернее обработчик.
Может какой хитрый код надо ?


 
Pat ©   (2003-07-07 21:56) [3]

>Может какой хитрый код надо ?
Неплохо было бы посмотреть твой "нехитрый" код


 
Юрий Зотов ©   (2003-07-07 22:27) [4]

Вероятнее всего, причина просто в D3. Насколько помню, там еще не было обработки WM_MOUSEWHEEL.

Загляните в исходники TWinControl. Если там нет события OnMouseWheel, значит, так оно и есть. Тогда надо писать своего потомка TDBGrid и вводить в него обработку WM_MOUSEWHEEL. Или переходить, например, на D5, там уже точно все есть.


 
ponyol   (2003-07-08 00:24) [5]

Юрий, спасибо за терпение !
Я так и чувствовал, поэтому и вопрос так поставил, "можно ли заставить...". OnMouseWheel - просто нет :(
Я буду очень благодарен, если Вы натолкнете меня на мысль, как эту обработку осуществить !
Удачи!


 
Fighter ©   (2003-07-08 04:43) [6]

Я делал наследника от TDBGrid. Лови код:


unit MydbGridScroll;

interface

uses Messages, Classes, dbgrids;

type
TDBGridScroll=class(TDBGrid)
private
( var Message: TMessage)
Я делал наследника от TDBGrid. Лови код:


unit MydbGridScroll;

interface

uses Messages, Classes, dbgrids;

type
TDBGridScroll=class(TDBGrid)
private
procedure WMMouseWheel(var Message: TMessage); message WM_MOUSEWHEEL;
end;

procedure Register;

implementation

{ TDBGridScroll }

procedure TDBGridScroll.WMMouseWheel(var Message: TMessage);
begin
if Message.wParam>0 then
DataSource.DataSet.Prior
else
DataSource.DataSet.Next;
end;

procedure Register;
begin
RegisterComponents("Data Controls", [TDBGridScroll]);
end;

end.

Картинку для компонента или нарисуй (выбери) сам или будет стандартная...


 
ponyol ©   (2003-07-08 07:38) [7]

БОЛЬШОЕ спасибо !!!


 
Anatoly Podgoretsky ©   (2003-07-08 10:00) [8]

Проще поставить нормальный драйвер мыши.


 
Fighter ©   (2003-07-09 05:05) [9]

Не думаю что драйвер мыши спасёт!



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
6-24600
ASTARD
2003-06-30 19:21
2003.09.08
Indy HTTP server


14-24640
Прохожий
2003-08-21 08:32
2003.09.08
---|Ветка была без названия|---


3-24375
Nikkkkk
2003-08-18 15:46
2003.09.08
Быстрый поиск при помощи TTable


3-24330
Oops
2003-08-18 11:02
2003.09.08
Checkbox в DBGrid


14-24686
Anon0mous
2003-08-19 13:50
2003.09.08
Black Cat