Главная страница
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.022 c
1-24419
pavel_guzhanov
2003-08-25 17:49
2003.09.08
Delphi & Excel


4-24748
Coban
2003-07-06 12:30
2003.09.08
w9x аналог GetUserProfileDirectory


1-24530
DM.OMen
2003-08-26 20:53
2003.09.08
Вопрос по процедурам.


3-24323
Nikkkkk
2003-08-18 11:08
2003.09.08
Работа с индексами в таблицах БД


1-24539
DM.OMen
2003-08-26 19:45
2003.09.08
Туча вопросов, точнее 2 :)