Главная страница
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.019 c
3-24365
kuchumovkv
2003-08-16 23:02
2003.09.08
Выборка по дате


3-24338
*pavel
2003-08-18 11:59
2003.09.08
MS SQL 7.0 & Win2000 prof.


14-24666
wl
2003-08-20 10:34
2003.09.08
Странное поведение винчестера...(Win XP)


4-24744
Shluz
2003-07-02 12:24
2003.09.08
wm_SetText


3-24386
Xmen
2003-08-19 10:02
2003.09.08
Про базы данных